Plug-in Builder Redesign
Wednesday, May 23rd, 2007It has been proposed for quite some time now that we redesign the plug-in builder to allow the SMC developer more flexibility with SMC plug-ins, while also offering the option to easily integrate any application into a SMC site. The guts of the project will be to create database tables and fields rather than store the structure of the plug-in within a table itself, as is being done now.
The following are a few benefits that the SMC developer and user will realize upon completion:
- Easy to copy plug-ins. Make a copy of a plug-in as a starting point for another.
- Option to share plug-ins. One version of plug-in shared across many SMCs.
- Ability to optimize plug-in performance through indexes, views, keys, etc. This will drastically improve performance on plug-ins that have many fields and/or many plug-in items.
- Ability to create relationships between tables (PK, FK, etc.). This is a must-have for any custom built plug-in, and is utilizing a few creative but shaky techniques to pull off now
- No limitations on field types as will create a table for each plug-in object and a entity for each field. Have access to create, search, order by, group by, etc., on date, currency, bit, number, text, etc. data types.
- Option to create plug-in objects that are join tables. Join table can link two plug-ins created using the plug-in builder (i.e. members to classifieds), but also can be used to link a table within a custom application to a SMC table (i.e. smc user to TMC task), otherwise known as a “hook”. Easily create a “hook” with any plug-in built for an open source CMS? Wow!
- Ability to create views required to improve performance on large queries
- Great base for complex applications. Since actual tables and fields are being created, can serve as an excellent starting point for an application that takes on complexity. Rather than starting over when the application has needs outside scope of plug-in builder, you can reuse the tables and code base generated by the SMC plug-in builder (i.e Stat Nurse Intl CRM).
- Easy to integrate with mission critical applications or “Back Office” systems that are important to your business (i.e. accounting software, reservations software, property management system, project management, CRM, sales management, MLS for real estate, etc.)
- Keep all “special” field formats such as Image Set, List Box, Multiple Choice, etc. and add a few more such as Look-up (Select existing table), Join Table (Select two tables), File, etc.
- Create triggers on specific actions (i.e. On table update, send email notification)
- Maintain ease and speed of the set-up and management of plug-in (i.e. content forms are automatically created)
- Maintain existing benefits of SMC plug-ins such as: meta data for plug-ins and fields, can associate items to SMC pages, easy to manage plug-in items with rest of web site, etc.
- Plug-in versions. Can keep versions and site users have option to update to latest version as they become available (can do this since everything is standardized or defined…. i.e. update tables, and all templates to latest version)
- Flexibility and increased function on display templates. I.e. display plug-in data from multiple plug-ins or objects. Would like to standardize on smarty for all coding found on plug-in templates.
- Integration of WYSIWYG editor. When you create a new field you have the option to specify whether field will require the editor or not.
- Drag and drop template creation. Drag a field label, output value, or form field to a table cell in a plug-in template
While this is not a complete list, it is a long one and will require Intrcomm to dedicate ample time and resources to the project. Any help you can offer for this project will be greatly appreciated. We are currently looking for projects that can help to fund this project. If there are no projects to help fund this expense, we will most likely have to charge clients and partners extra to use this functionality.