ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE.

Main Area and Open Discussion > General Software Discussion

Idea: A content management system that lives up to the name

<< < (2/10) > >>

tranglos:
I may have misunderstood completely and if so it is my fault completely as well. But a lot of what I read here can be and is achieved by using smarty and is implemented by some CMSes, may be not as thoroughly as described but not too far off either.
For example reusing and controlling content is one of the strengths of smarty.
-rgdot (September 22, 2009, 08:06 PM)
--- End quote ---

I think smarty does what I've described - at least much of it. But I can only read PHP code, up to a point. I cannot write PHP, and I am thoroughly scared of security issues at every step, so I haven't really considered writing such a framework myself. And not every CMS lets you put php in posts. TextPattern does; Joomla - I don't think so. (I'll have to find out, but haven't seen an indication that it does.)

My hypothetial project would be a fully-fledged CMS, rather than just a templating framework. But you are right, smarty could be a good starting point for writing a custom solution.

tranglos:
In the flow of writing the verbiage at the top I forgot to add that I have actually implemented all of the ideas - in Delphi :) Now, this doesn't make a lot of sense, since I would have to generate the complete site on the desktop side, then upload the static html pages, and repeat the process for every update. But as a framework it certainly works.

It actually does more than what I described, because I wanted to use it not just for websites, but to generate content like readme files and xml files as well. It has variable substitution everywhere, and definitions can be nested. It has functions, e.g. to return and format dates, where all function parameters (like the format for the date or the date value) are also string variables, so that you can define the date or its format once, and use it everywhere you call a date function. (Think of displaying release date for a program in several places on a site, and having all dates use the same format, which you have to specify only once.)

You can put the result of a function in a variable and reuse it. Practically everything can be "expanded" in this way, i.e. every piece of generated text can be a dictionary term, with nested expansions inside it.

It has smart entities dependent on output format, so that an "&" will produce an html entity &amp; if you're outputting html, or just the ampersand character if you're outputting text. It has namespaces to implement the concept of separate "projects" that share the same templates but yield different productions. And the templating code can be put in any text format, be it html, php, xml or html,etc. It has includes, which can be recursively parsed or passed through raw. I loved writing it.

One thing it does not have is conditionals and loops, because I'm not smart enough to write a compiler. But it can pretty much do without.

Except it's not very useful desktop-side :)

app103:
Are these examples of the type of site you are looking to build?

http://tabletalk.com/
https://www.seekanddestroyclothing.com/
http://www.imagecubes.com/


They are all using the same CMS.

Guess which one...Wordpress with the e-commerce plugin.

In the flow of writing the verbiage at the top I forgot to add that I have actually implemented all of the ideas - in Delphi :) Now, this doesn't make a lot of sense, since I would have to generate the complete site on the desktop side, then upload the static html pages, and repeat the process for every update. But as a framework it certainly works.
-tranglos (September 22, 2009, 08:27 PM)
--- End quote ---

What about writing the CMS in Delphi, as ASP or ASP.net? Then you wouldn't have to run it on your desktop to generate static pages. All you'd need is a server running Windows.

http://www.aspxdelphi.net/
http://www.felix-colibri.com/papers/web/asp_net/delphi_asp_net_portal_programming/delphi_asp_net_portal_programming.html

rgdot:
As a sort of reference to perhaps look at CMS made simple does a good job at PHP use in content, uses smarty and has some of the other advantages, but yes I understand what you mean as far as making a fully fledged CMS and dealing with security issues.
What are the chances of being able to look at your Delphi implementation?  :)

tranglos:
What are the chances of being able to look at your Delphi implementation?  :)
-rgdot (September 22, 2009, 08:39 PM)
--- End quote ---

Right now, not much, since it's all a bunch of tests to make sure the logic works. There's no UI, and I have yet to write an interpreter for the project files, which will pull together all the content. So there isn't much to look at yet, but this is the result of a successful test:

Idea: A content management system that lives up to the name

And this is an example dictionary, using term definitions (t), expansions (x), a function (f) with parameters (p) , includes (i) - and entities too, but they're not in this clip:

Idea: A content management system that lives up to the name

The syntax is verbose, but nesting gives it flexibility, and Verbosity is my middle name, I'm sure ;)

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version