Website Admin Framework
It has long been a dream of mine to make forms quicker and easier to write, ever since I first started writing them.
Why you might ask? Because they are boring. Taking user data, sanitizing it and putting it into a database is a tedious repetative task.
This problem becomes magnified when you start making a website editiable by the client. Dozens of tables, each with dozens of fields all needing sanitizing before putting into the database, simply because we don't trust the users input.
I use a tool called Adminer (http://www.adminer.org/) for playing with my databases and more often than not I am just replicating the Adminer interface for a website just so I can perform checks on the data going in.
The Idea
Why don't I try making a framework which allows me to link the tables I use for displaying the data on the website, to some form of user front end. At this point I realised Salesforce already kind of does this, but a lot more complicated and confusing than anything my clients would want.
So taking the Salesforce idea of objects and fields I set about creating a framework for my current companies corperate website, Solid Angle. My one idea when building this framework was that if I wanted to make a basic table editable, it should be as simple as possible and entirely database driven.
I set about creating a table for storing the object, and a table for storing the fields but quickly things started adding up. What about selects and radio buttons? What about images and files? What about child and parent relationships? All of these problems needed a clever solution to make this framework as robust and dynamic as possible.
The Details
How I am building this beast is far too big for one blog post, so I will be breaking it up into several posts discussing in detail the problems and the solutions over the next few weeks.
In Action
The first version of the system is currently online and powering the new Solid Angle website.
The users are currently able to edit the following features entirely from the framework:
- Articles
- Gallery Images
- Research Paper
- Editable Page Content
- Admin Users
The new Solid Angle website is not yet released at the time of this blog post.
I plan to bring the code accross onto adam-thornton soon as a proof of concept that it is easy to port and quick to set up. Also it will make my life much easier when writing posts!
I have been working on a new website administration framework which should mean making custom website content editable by users much simpler.
I recently discovered a bug in my Salesforce "On Click" Javascript where Integer values were coming back with commas to seperate the thousands.
In this entry I discuss the problems when working with Salesforce APEX triggers with complex SOQL. I then present a possible solution to this by building efficient SOQL queries which work on batch triggers.