Need a template for SaaS/portal style apps

By Justin James on 13 Jan 2011
The current template with the Enterprise Manager integration is great, but it really is not the right approach for SaaS or portal style applications. For example, Enterprise Manager believes in a shared signon between apps, which is not the right approach for a portal (although it should be optional). Also, portals need self-service for things like creating an account, or adding users to an account; in Enterprise Manager, this is all done through the EM interface. Much of the functionality is in EM, but the UI can't be easily edited to fit the rest of the application. Working with a number of clients, every single one of them wants the exact same structure:

* Two main areas: one for anonymous users that "sells" the application, one for logged in users that *is* the application. The user gets redirected automatically as needed.

* Self service tools like emailing a password reset link that times out after a period of time.

* The ability to sign up as a new account; by default, this creates a new account (or "customer" if you prefer) with the first account (created at the time of sign up) as an "account administrator".

* Account admins can add users to the account, and change some aspects of their account, but not all (for example, account admins can't reset passwords).

* Need for a backend system similar to Enterprise Manager, with the ability to manipulate accounts and users.

* The ability to disable an account, and have all associated users disabled as well. Same for re-enabling the account.

* The ability to perform recurring billing, invoicing, etc. for the application's use.

I've actually implemented ALL of this functionality in the Rat Catcher application. If OutSystems would like, I'd gladly share the OML on a private basis to serve as the basis for such a template.

J.Ja
Pedro Oliveira6 Jun 2011
Wish granted!

We've made available with 6.0 the Customer Portal app which implements most of these patterns and serves as a great example when creating your own app.

http://www.outsystems.com/apps/customer-portal/