dbo Posted November 25, 2008 Share Posted November 25, 2008 I've had the opportunity to use a lot of CMS in my day. These include homegrown, commercial and open source systems. With that in mind, while I've seen some pretty nice systems that are easy to use for an end user, they don't allow me to easily make changes to account for truly dynamic content (aka writing server side code at the page level). Or on the flip side of things they try to be everything to everyone so they are so bloated that they're hard to work with. Long story short, I've just run into a lot of short comings so I decided to write my own that models how I work, and how my clients typically want to maintain. Anyway, here is basically how the CMS works... and some screenshots attached. 1. Create a design - woohoo 2. Load the design into the CMS as a "template" and then define regions that will contain dynamic content. (Think templating approach of using extract) 3. Upload any relevant images, external js includes, stylesheets, etc 4. Create a page 5. Choose the desired template... in doing so the page is populated with the placeholders defined in the template. (I use a naming convention to account for textbox vs textarea vs wysiwyg) 6. At this point a casual user could just dump content using a wysiwyg. If the page required special functionality a developer could write php code at the page level (I'm ebil and make use of eval... if you want to hack your own site I don't feel sorry for you) Miscellaneous items: - You can create reusable code blocks (random image droppers, contact forms, etc) as by using the "widget" feature -I have a "redirects" feature which essentially lets you alias long pathnames as a single token. This is nice if running campaigns and want something like: mysite.com/myevent instead of mysite.com/some/stuff/all/my/events/1 -Multiple sites can be hosted from a single instance. So for example a company could maintain their main website and intranet... or I as a developer could maintain individual sites for my clients from a single installation. -Pages can be enabled (made live to the world) and/or hidden which would hide them from auto navigation but makes them still viewable -PHP code can be written so that it would act like code that appears at the top of a page (executed pre page load, postbacks etc) Screenshots: http://demo.firebeestudios.com/1.png http://demo.firebeestudios.com/2.png http://demo.firebeestudios.com/3.png http://demo.firebeestudios.com/4.png http://demo.firebeestudios.com/5.png http://demo.firebeestudios.com/6.png 1.PNG - This is the main dashboard and looks a lot like a file manager would look like 2.PNG - This is an existing template 3.PNG - This is the wysiwyg in full screen mode... this is basically the index page template 4.PNG - This is the tree menu used to control where I'm storing the template in my virtual file system 5.PNG - This is the page view which is populated based on the defined regions in the template 6.PNG - This is the rendered page that represents the page view above I'm not sure how I want to license this thing just yet... if at all. I am however very interested in thoughts/critiques. I'm interested to hear scenarios I may not have accounted for... usability... ease/speed of development, etc. Quote Link to comment https://forums.phpfreaks.com/topic/134139-screenshots-of-my-cms-thingy/ Share on other sites More sharing options...
dbo Posted November 25, 2008 Author Share Posted November 25, 2008 Couple other miscellaneous items: - The has a "backend" or "cpanel" which is what is depicted above. - It then has a single index.php file that interacts with the database and is used to render all of the pages. - Database is MySQL - The files that get uploaded (images, javascript, css) are stored in the filesystem rather than the DB. I then create a unique hash and drop off the extension (this is to allow them to be stored in a single directory w/o collisions) The hash is then stored in the DB and used to serve them up - Page names can include file extensions if you want. While the site is driven by PHP you could make it look like it was .NET (.aspx), .php, .html, etc (security through obscurity?) Quote Link to comment https://forums.phpfreaks.com/topic/134139-screenshots-of-my-cms-thingy/#findComment-698258 Share on other sites More sharing options...
waynew Posted November 28, 2008 Share Posted November 28, 2008 It actually looks pretty nice! Hope it works out! Quote Link to comment https://forums.phpfreaks.com/topic/134139-screenshots-of-my-cms-thingy/#findComment-700908 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.