1. What does your application (or extension) do? What business problem does it solve?
The Access Control Manager tracks user access to applications and other products (such as hardware, cellphones, etc.) by creating requests for access by the supervisor of the user. The ACM tracks initial user, modify, transfer from job or dept or both, deactivate (disable), reactivate (enable), terminate (delete), reinstate actions against a single user and in a bulk mode, requests a job title or department be assigned to a product (for new applications). Also, an adhoc list of users can be imported via CSV to request access. The ACM also provides historical and audit trail capability to be able to view a user’s complete history of access (if physical access needs to be tracked, it can be added as a product). Applications (aka products) also have role designations which allow access control granularity between roles within an application. Alerts are generated by the ACM and processed by a separate scheduled task. Workflows such as security approval, purchase approval, supervisor approval and department approval are also included. Templates are used to automate the assignment of standard access control for a particular job title and department (e.g., Supervisors in IT are have Excel by default, technicians in IT optionally have VISIO, All users in All departments require Active Directory accounts). Dependencies are defined so that admins who support products that rely on other products (e.g., Sharepoint relies on Active Directory) are not alerted until the dependent access is granted.
2. How many screens and entities does this application have?
There are 31 screens (15 admin) and 20 entities (5 additional parameter filtered queries).
3. Did LightSwitch save your business money? How?
Absolutely. LightSwitch allowed me to develop this application in-house to replace an aged ASP application that was not manageable because of no access to source code (i.e., we couldn’t “fix” the old app). To have this application re-written by an outside contractor would have cost much more than it did for me to do it. We are governed to track access to all applications, so developing this application rapidly allowed us to save money in development time.
4. Would this application still be built if you didn’t have LightSwitch? If yes, with what?
Yes, but it would have been built as a client/server model in a proprietary development platform (non-Microsoft VS) and not a web app. Using LS to build it as a web app allowed for easier deployment (no client install).
5. How many users does this application support?
Over 100 users
6. How long did this application take to actually build using LightSwitch?
I am not dedicated on this task, but the manhours is probably in the neighborhood of 240 hours (there was also some scope creep which changed the workflow of the product).
7. Does this application use any LightSwitch extensions? If so, which ones? Did you write any of these extensions yourself? If so, is it available to the public? Where?
Infragistics LightSwitch Extensions Light, Microsoft LightSwitch Extensions, Pixata custom controls for LightSwitch, Color Button extension, Reynaert IPhone toggle, LightSwitch Utilities
8. How did LightSwitch make your developer life better? Was it faster to build compared to other options you considered?
IMHO, the development of this application was much faster than any other method, Period! Also, changes to the application (either screen or business logic) is fast and easy compared to having to do it manually. A great functionality of the LS environment is renaming. When using other methods, renaming can be time consuming and a pain in the neck. I have begun showing another developer and he has been remarking how easy the coding is!