Skip to content

Planned Future Features

Eitan Blumin edited this page Apr 21, 2019 · 24 revisions

(Planned) Key Features

This is an outline of what I have planned:

  • Implemented

Fully functional and customizable data-tables (sort, search, pagination), including bootstrap modals for editing/adding/deleting.

Uses jQuery for asynchronous loading of data and dynamic construction of form elements.

Uses Classic ASP for dynamic fields presentation and layout.

Uses toastr notifications for confirmation and error messages.

Toastr notification messages

Modal dialog for editing

More crazy dataview ideas:

  • Print Table button
  • Export to CSV button
  • Send by Email button
  • Import from CSV button
  • Create database table based on DataView configuration (frontend-to-backend in addition to backend-to-frontend)

2. Configurable Recursive Navigation

  • Implemented

The navigation sidebar is fully configurable, including hierarchical links.

Each link can either point to one of the data views, or to a custom URL.

If a link points to a dataview, it would automatically be visibly set as "active" when its dataview is opened.

If a link points to a different page, then it would automatically be set as "active" when that page is viewed.

Also, a navigation link may optionally have a setting telling it that its target should be opened inside an IFRAME object. In this case, clicking on the navigation link will open a special page which would receive the navigation item ID as a parameter, and this special page will open the designated target inside an IFRAME window. This would be a good feature for opening resources outside the portal (for example, third party web apps such as Sharepoint, or SQL Server Reporting Services).

A navigation link can be "activated" by more than one dataview (in case there are dataviews that link to each other, and/or if there's a hierarchy between them).

3. Data View Action Buttons

  • Not Yet Implemented

Each dataview can have, in addition to its data displayed, also a set of customizable "action buttons".

Each such an action button can be either one of the following:

  • Regular HTTP link
  • Client side custom function in jQuery
  • Database Custom T-SQL command
  • Database Stored Procedure execution

All commands will optionally use a modal dialog to set parameter values before execution, and/or use pre-configured "default" values.

Action buttons could be placed either at the top of the page, or as contextual buttons per each row in the datatable (right next to the Edit/Clone/Delete buttons).

4. Data Charts

  • Not Yet Implemented

Using the free javascript chart libraries (chart.js, morris.js, Flot, inline charts), I want to make it possible to present configurable chart data, instead of or in addition to the regular datatables. Unfortunately I have no experience with this sort of thing at all... This is NOT going to be easy to implement for me... But it's such a cool idea I just won't forgive myself for not doing it.

5. Site-Wide Settings

  • Not Yet Implemented

The following "global" settings should be easily configurable:

  • Site Name (to be used as browser tab title)
  • Site Public URL (for use in e-mails and such)
  • Color theme (use the themes provided by AdminLTE)
  • Layout type (based on AdminLTE layouts)
  • Favicon
  • Toggle Anonymous Registration
  • Toggle User Profiles
  • Database Connection String
  • Toastr Notifications Style Options
  • Footer text
  • More (TBD)

These settings should be database-independent. Perhaps in an editable json file or web.config or something like that.

6. Dynamic Security

  • Not Yet Implemented

Obviously not any visitor should have the ability to change your dataviews, so some sort of security framework would need to be implemented. Logging in, registration, usernames, passwords, profiles, browser cookies, the whole shebang.

Initially, we'll only need to determine whether the visitor is an "admin" or a "moderator" or a "visitor", which would determine whether they can configure and create dataviews, or just edit their configured content, or just view the data, respectively.

After that, it would probably be a good idea to implement custom "roles" where you can set which roles can access which dataviews, and which operations they can perform on them.

Ideally, it would be best to also be able to use SSO services such as Office 365, Google, Facebook, Twitter, etc. That would be much harder to implement (because I have no real experience with this sort of thing and it's difficult to implement in classic ASP), but it could also be a great learning experience.

7. Scheduled Subscriptions

  • Not Yet Implemented

Okay this is really crazy, but could also be very cool and useful for some scenarios. What if we could manage SQL Server job schedules, which would automatically send the contents of a dataview to a list of recipients? What if users could choose to subscribe themselves to a dataview in order to receive updates via E-mail?

More?

The AdminLTE 2.4.5 web template has a lot of very cool features. It'll be interesting to see how many of them I can implement dynamically, and how well it would eventually work. Also, AdminLTE version 3 is currently being developed, so it would be interesting to see what other awesome features that would expose.