- Staff enters some basic information about themselves in a registration form such as name, contact details, Bank details, social security number etc.
- Staff is presented with a list of legal documents which staff confirms as having read by opening the document and then afterwards ticking in an acceptance tick box.
- Staff info is saved in the backend db and an email is sent to office to notify of the staff registration.
- Office users able to view registration info for all staff and approve their registration, an email sent to staff if their registration is successful.
- Staff are able top login to their account if registration successful to amend their info if needed and to view additional pages.
I would appreciate if we could have some pointers on how to achieve above.
- The first one looks like a good use of an ASP.Net Membership/create user wizard. The control is highly customizable (form fields, look-and-feel) and as Umbraco uses the ASP.Net Membership in the backend it fits in perfectly without too much effort. More info here:
- I am pretty sure that the presenting of documents with acceptance can be done as an additional custom step in the user wizard. I am pretty sure you would not want to add the user to your database anyway if he/she doesn't accept the content in the docs.
- At the end of the user wizard a new member (that's the frontend user in Umbraco as opposed to the (CMS) user for the backend) will be created in Umbraco (and at the same time added to the db). To send out an email you can e.g. do that at the end of the wizard as well or catch one of the global Umbraco events that get fired off when certain things happen, like a page gets published or in this case a new user gets created. The email addresses of receivers in the office can also be made editable in Umbraco or just dropped in the web.config file.
- Office users will need to have the right permission to view members. I don't think it is build into Umbraco atm (version 4.6) that you can instantly see a list of newly signed up and not approved users. However there are a couple of additional (free) packages that might help in that regard. How the whole approval works wih Umbraco is the following: When a new member gets created he will not belong to any member role, yet for viewing certain pages he will need to be in a certain user role. So what the guys in the office will do is associate that user with the required user role once he is approved and bingo! he has access to these pages. Sending an email to a user is AFAIK not natively supported in Umbraco as well, yet easily accomplished with a custom .Net usercontrol wrapped as datatype.
- After staff have received their blessing by adding them to a certain user role they will be able to see all pages where you have previously set limited access to. Obviously you would need to build the pages yourself, but it looks like this is the core of your system anyway and you will have anticipated that here will be most of your development.
The OOTB Umbracao membership capabilities will work just fine for this. You can create a member type which will then allow you to define all the custom fields which you need to record about a user, and they will be stored into the database, the same way as you would create a document type.
For creating the member I recommend that you use ASP.Net profiles, which I covered in a blog, http://www.aaron-powell.com/umbraco-members-profiles, but keep in mind that the blog is a bit out of date and may not be 100% accurate (I did it against Umbraco 4.0, and since 4.6 is the current version it's not exactly the latest thing ;)).
For sending notifications, you can use the Umbraco event model, there is an After_Save event on the Member class which will be invoked when the members data has been written into the database (there is a quirk with it that I covered here: http://www.aaron-powell.com/the-great-umbraco-api-misconception), and in that event handler you can send your email.
You can then use the OOTB Umbraco security to restrict what pages users can and can't get to, based on their authentication status, this can be accessed from the Public Access context menu of a node (page).
This should give you enough starting points to play with and come back with specific questions about impllementation if/ when the time comes :)
Staff portal creation advice
Hi
We need to make a staff portal as follows;
- Staff enters some basic information about themselves in a registration form such as name, contact details, Bank details, social security number etc.
- Staff is presented with a list of legal documents which staff confirms as having read by opening the document and then afterwards ticking in an acceptance tick box.
- Staff info is saved in the backend db and an email is sent to office to notify of the staff registration.
- Office users able to view registration info for all staff and approve their registration, an email sent to staff if their registration is successful.
- Staff are able top login to their account if registration successful to amend their info if needed and to view additional pages.
I would appreciate if we could have some pointers on how to achieve above.
Many Thanks
Regards
Hi John,
my 2 cents again:
- The first one looks like a good use of an ASP.Net Membership/create user wizard. The control is highly customizable (form fields, look-and-feel) and as Umbraco uses the ASP.Net Membership in the backend it fits in perfectly without too much effort. More info here:
http://msdn.microsoft.com/en-us/library/ms178342.aspx
http://www.asp.net/cssadapters/membership/createuserwizard.aspx
http://www.c-sharpcorner.com/UploadFile/raj1979/CreateUserWizard08042008224747PM/CreateUserWizard.aspx
- I am pretty sure that the presenting of documents with acceptance can be done as an additional custom step in the user wizard. I am pretty sure you would not want to add the user to your database anyway if he/she doesn't accept the content in the docs.
- At the end of the user wizard a new member (that's the frontend user in Umbraco as opposed to the (CMS) user for the backend) will be created in Umbraco (and at the same time added to the db). To send out an email you can e.g. do that at the end of the wizard as well or catch one of the global Umbraco events that get fired off when certain things happen, like a page gets published or in this case a new user gets created. The email addresses of receivers in the office can also be made editable in Umbraco or just dropped in the web.config file.
- Office users will need to have the right permission to view members. I don't think it is build into Umbraco atm (version 4.6) that you can instantly see a list of newly signed up and not approved users. However there are a couple of additional (free) packages that might help in that regard. How the whole approval works wih Umbraco is the following: When a new member gets created he will not belong to any member role, yet for viewing certain pages he will need to be in a certain user role. So what the guys in the office will do is associate that user with the required user role once he is approved and bingo! he has access to these pages. Sending an email to a user is AFAIK not natively supported in Umbraco as well, yet easily accomplished with a custom .Net usercontrol wrapped as datatype.
- After staff have received their blessing by adding them to a certain user role they will be able to see all pages where you have previously set limited access to. Obviously you would need to build the pages yourself, but it looks like this is the core of your system anyway and you will have anticipated that here will be most of your development.
Hope that helps and makes sense,
Sascha
The OOTB Umbracao membership capabilities will work just fine for this. You can create a member type which will then allow you to define all the custom fields which you need to record about a user, and they will be stored into the database, the same way as you would create a document type.
For creating the member I recommend that you use ASP.Net profiles, which I covered in a blog, http://www.aaron-powell.com/umbraco-members-profiles, but keep in mind that the blog is a bit out of date and may not be 100% accurate (I did it against Umbraco 4.0, and since 4.6 is the current version it's not exactly the latest thing ;)).
For sending notifications, you can use the Umbraco event model, there is an After_Save event on the Member class which will be invoked when the members data has been written into the database (there is a quirk with it that I covered here: http://www.aaron-powell.com/the-great-umbraco-api-misconception), and in that event handler you can send your email.
You can then use the OOTB Umbraco security to restrict what pages users can and can't get to, based on their authentication status, this can be accessed from the Public Access context menu of a node (page).
This should give you enough starting points to play with and come back with specific questions about impllementation if/ when the time comes :)
Thanks guys, both of you.
Regards
is working on a reply...