Jump to content

PHP/SQL/XML C.M.S./Forum Script


markfh11q

Recommended Posts

Hello all. Glad to see this site back up.After seeing GH4 start to make his own forums, I figured I'd make my own community script.Here's the thing though... I absolutely hate nearly every single bit of C.M.S. and forum scripting out there today. Every script is bloated, large, and too 'flashy'.So, I decided to make my own scripting based on a few principles.1.) Fast. I have finished the entire content management side of the project, and the total size of the installed directory is 80 kb. Also, I attempted to optimize MySQL and XML access, and I have 'cron jobs' (even though my test server doesn't support them) which optimize the MySQL tables and delete unused images in the upload folder.2.) Abstraction. Since 'code is art', this would be known as abstraction anyway. Only the purely necessary functions of a C.M.S. and forum script are utilized.3.) Less user focused and more content focused. To give you an idea of what I mean, the MySQL table 'users' contains only six fields, and only one of them display when posting. Email address is used strictly for activation of the account, and then it is removed from the table, to focus a little more on user privacy. IP addresses are recorded, but only for banishment/authentication purposes.4.) Of course, focus on web standards. So far, every generated page (except for the installation page, but that's deleted after installation) validates as XHTML 1.0 strictAccording to this, so far I have got the content management system up and running. I'll just take a screen shot real quick (any more than two connections at a time would probably crash my 'server').screenshot3.jpgRight now, I am finishing off the forum side of the script. I project a pretty good installed script size when I'm done, somewhere below 200 kB. The only scripting languages used for this site were PHP 5, MySQL 5, and a little JavaScript for things like expanding and collapsing categories on the 'View All Pages' page. When it's done, I'll make sure to update this thread and get a test version up and running on my real server.EDIT - oh yes, I forgot to mention that it's generating pages using an elementary template engine I wrote for it. I tried using Smarty at first, but for one Smarty is very large... larger the my site itself, and I couldn't make it do what I wanted it to do. Basically, all my engine does is load the template HTML file, read a line, replace certain special strings with their corresponding value (like {site_title}, {page_content}, etc.), and then echo the line. So far, it's worked pretty fast, and I haven't had any problems with it.EDIT II - I am not thinking clearly this morning. Clarification on the title: XML is used to store the site information, main page, and tripcodes that the administrator can use to edit the information. This way, if the MySQL server goes down, you aren't left with only an error message and no bit of the site, and the administrator can edit the main page to tell any visitors what is happening and when he expects it to get fixed. Only the main page and site information are stored in XML documents. All other pages are stored using SQL.

Link to comment
Share on other sites

What happens if a user forgets his password? That's the only coding concern I have.And is CaC2 your site's name? It sounds like a chemical salt formula (Calcium bicarbon, I think)...

Link to comment
Share on other sites

The reason I didn't include the option to retrieve a lost password was sort of a security concern, but I might include the feature at a later date, but without using email still.The name you see is just something I thought up real quick to replace "Test Site". When everything is ironed out flat and optimized, I'll get started on actually making a web site with the script. But, then again, since I'm fixing to get a real server in a few years, I might decide to redo the whole thing to suit a more customized and accessible server environment.EDIT - and yes, CaC2 is a chemical formula, for calcium carbide. It's old trade name is "Bangsite". It is used for the generation of acetylene gas, which was used for old miner lamps. First thing that popped into my head.

Link to comment
Share on other sites

Umm... http://en.wikipedia.org/wiki/Abstraction_(computer_science)Sounds good, but remember that security is always one of the biggest problems - that, and staying concentrated :)Have you thought of storing images in the database, instead of the filesystem? That could improve management slightly, and prevent images from "leaking".

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...