topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Friday December 13, 2024, 2:52 pm
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Last post Author Topic: DC Homebrew Mini-CMS Discussion  (Read 49190 times)

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
DC Homebrew Mini-CMS Discussion
« on: May 18, 2006, 07:52 AM »
This thread is to plan the mini-CMS features that need to be added to the site to support articles/reviews and templates, and better coding snack files, etc., as well as the amazing blogportal idea.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DC Homebrew Mini-CMS Discussion
« Reply #1 on: May 18, 2006, 10:23 AM »
The Goal:
  • A way to make it easier for users to create content for the website, in the form of Reviews, Articles, Blogs, which can be organized in a clean, standard hierarchical form, like the normal website pages here - the pages should look identical to other real pages on the websites with sidebars, etc.
  • A way for programmers to have their sofware available for download, in nice fashion similar to the software currently available in the software section (with thumbnails, screenshots, etc.).
  • In other words, we want to make it easy for users to create content for the website that looks like the static content on this website, with minimal intervention.

Requirements
  • Has to be "safe" and protect against a malicious user trying to run arbitrary php code.
  • Can't be too hard for users to write content and format it nicely.
  • Output should be static html/php pages for minimal cpu performance hit.
  • Ideally the same sysem could be use to organize the entire EXISTING website content, to help unify everything.
  • Ideally it would integrate into the forum software to support searching.
  • It must integrate into the forum to the extent that its easy for people to add comments on downloads and articles.

Some Ideas
  • A generic template system that can build on demand create static html website hierarchy of pages from "templates" and a hierarchy of content pages.
  • Support for special kind of content/template fields that can instruct the engine to go grab and extract content from forum posts/threads.
  • In this way, comments could on a download or review could actually be extracted and ADDED to a website page whenever a new comment is posted - very nice.
  • This would also let us build a unique idea - a blog portal into the forum - where an admin could mark posts that should be automatically extracted and added to a "blog"-like page listing the day's hotest threads.  Think about a Lifehacker like page created from interesting forum posts.
  • Because of the complexity of articles, users will need to be able to edit them gradually without making them public, until it comes time to "publish" them, which might require permission from an administrator.
  • My idea was to perhaps create a kind of "virtual" forum area for EVERY user, where they could write articles as if they were writing posts (perhaps using same bbcode, etc), and then have some system of moving these special private user articles (posts) into main areas of the forum, or "publishing" them as pages on the main website.
  • Extra features would probably need to be added to such posts (articles), like excerpts and preview images.
  • I am concerned that the forum bbcode might not be rich enough to support full articles, but there is a lot to be said for keeping all articles as posts.  It may be possible to allow richer html editing inside these posts.
  • Such a system of being able to extract info from posts might also enable us to build a kind of "bookmarking" system where users can mark which posts threads they want to assemble on a page like a portal.
  • A generic rebuilding-table might be kept track of so the system knows which static pages need to be rebuild when certain forum "posts" change or are added.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DC Homebrew Mini-CMS Discussion
« Reply #2 on: May 18, 2006, 10:49 AM »
to sort of summarizing the approach i am suggesting, it basically says that we use the forum data table to hold not just posts, but blog entries, articles, download descriptions, maybe even wiki entries, (and bugtracking entries?), and then write custom code to extract and present these items in different ways in an organized website.

there are advantages and disadvantages to this of course..

crono

  • Charter Honorary Member
  • Joined in 2005
  • ***
  • Posts: 179
    • View Profile
    • Donate to Member
Re: DC Homebrew Mini-CMS Discussion
« Reply #3 on: May 18, 2006, 11:26 AM »
Hello Admins and Mods :)

this sounds really well, but there are some unsolved issues.
1) I keep wondering how the Pages could be integrated in the Navigation, without letting users change the Navi?

2) The Sidebars: Should a User be able to create a Sidebar for her / his own Article? Or would it be better if there are several standard sidebars, which could be inserted "context sensitiv"?

3)
  • Output should be static HTML/php pages for minimal CPU performance hit.
I like the semi-static PHP approach - if we have comments on the pages, it is nearly impossible to be 100% static - but 1 call to the Forums DB should be cheap.
BUT this approach makes it harder to offer full text search on the page, without having something like Apache Lucene running in the background. The Zend Framework offers a interface for Lucene, but Lucene is still needed in the backend, because Zend haven't done the indexer port to PHP now...

4)
  • Ideally it would integrate into the forum software to support searching.
this would solve my point above, but then it is not possible to do it "static"? Or do I miss the point?

5)
  • It must integrate into the forum to the extent that its easy for people to add comments on downloads and articles.
This is one method - anotherone would be to create something like a "summery" Post in the Forum for each "content" page. Then the comments can easily go to the forum (which means no spam, new members and authentication for free). Displaying on the "content" page would very easy - just pulling them out of the database.

6)
  • A generic template system that can build on demand create static HTML website hierarchy of pages from "templates" and a hierarchy of content pages.
Huh??? - Sorry, I don't get it...

7)
  • Such a system of being able to extract info from posts might also enable us to build a kind of "bookmarking" system where users can mark which posts threads they want to assemble on a page like a portal.
This would be a great feature - something like a personal portal

8)
  • A generic rebuilding-table might be kept track of so the system knows which static pages need to be rebuild when certain forum "posts" change or are added.
Such a table could be really painfull - and this is the BIG problem with the static approach *ImScared* - and I don't know how often we had to generate static pages - maybe we should drop the static approach and invest time on some caching strategies?


I had some (very "raw") ideas - I told mouser via PM - on how to do this CMS. In the last few hours I thought about some details. I think my approach can satisfy most of the requirements... Give me a little time (Saturday) to put it into words... :)

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DC Homebrew Mini-CMS Discussion
« Reply #4 on: May 18, 2006, 11:36 AM »
here is what i was thinking about static page rebuilding - i think you got the flavor at the end.  this is what movabletype does. it knows that when someone posts a reply, it needs to build the blog page.

a similar system could be used - all static pages that relied on a thread would have an entry on a table.  whenever a thread is modified that a static page depends on, the static page would be rebuild.

when you think of the # views vs. the number of times a new post is made, there should be no comparison in terms of cpu usage.  even if you had 1000 posts a day it would still be a big winner in terms of speed.

it's not just average speed of course - the real win comes when you get something like a digg or slashdot, because in that case you get 20,000 views and no new posts.  a static page suffers no hit at all.  a dynamic page will kill the server.

while i don't worry about this soo much with forum, i would be VERY reluctant to have a popular page of our site use such a dynamic approach.  if i am write and the blog portal idea gets popular, it will get a huge # of hits a day.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DC Homebrew Mini-CMS Discussion
« Reply #5 on: May 18, 2006, 12:26 PM »
users need to be able to design their own sidebars.

the very best way to invision what this mini-cms has to be able to do is to look at

our reviews: https://www.donation...pareTools/index.html
a user needs to be able to write such a full rich review.

a software page:
note our main software page should have their subpage with a pic:
https://www.donation.../Software/index.html
and then their page:
https://www.donation...ware/Jibz/index.html
with subpages for their programs:
https://www.donation...Jibz/Dina/index.html

an administrator would have to "approve" adding their "section" to the download page.

someone like skrommel might not have a 2 level hierarchy and just use one level:
https://www.donation...m/Software/Skrommel/

and then we have my idea of a blog portal, which is basically like a blog or lifehacker or digg page, which gets its content from the days top forum posts (as chosen by admin or otherwise).

--

i am not opposed to imposing some rather strict formatting requirements on articles/reviews/software page that goes beyond what we currently impose, but the basics are the same - users are going to want to be able to create pages with lots of pictures, and custom sidebars.

it would also be nice to have a way of creating a page like this our release page:
https://www.donation...ftware/releases.html

and i would be happy to replace the complex powerful mantis bug tracker with a much simpler integrated bug report thing where each bug report is simply a post, but again like the rest of cms idea, somehow "tagged" and able to be viewed in a specific way.

the bug tracking idea is a great example of the advantages of this forum-centric idea - because it says that each bug is a forum post.  it can be encountered by people reading the forum, but it would also have a way to "view" bugs from a different interface that would collect and present them in a different more useful task relevant way.

which is basically my idea - to add extra info to posts (tags and fields), and then have a content-template system that is capabable of collecting these posts and organizing and presenting them in a novel way that is most useful for the task.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DC Homebrew Mini-CMS Discussion
« Reply #6 on: May 18, 2006, 12:28 PM »
same thing with blog i guess - a blog is just a post,
but with the ability maybe to say:
show me a "virtual blog" only with this person's blog posts.
or show me a "virtual blog" that contains all the blogs of all users.

these are "portal views" into the forum.

thats my new idea :)

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DC Homebrew Mini-CMS Discussion
« Reply #7 on: May 18, 2006, 02:36 PM »
Refining the proprosal -
I suggest creating a special "invisible" Board on the forum, which would be the container for what might be called "Floating Posts" or "Floating Threads" or "Tagged Threads".

Essentially this Board would not be like the other boards on the forum - you wouldn't browse it as normal.

Instead it would be used to store articles as posts,
and we would have special functions to retrieve articles and posts from that section by tags/userids/etc.

ive done a similar thing already in the programming school - where users can only read their own posts in certain sections.

NICE IDEA:
we might even NOT make this section hidden but instead label it as "My Articles" and when you click on it,
you see ONLY articles you yourself have written.
each person will see only their own articles, and be able to edit only their own articles (except for admin who can see all).

then an admin can view/edit an "article' and "promote" it to be embedded on a content page (like an article or download).

jgpaiva

  • Global Moderator
  • Joined in 2006
  • *****
  • Posts: 4,727
    • View Profile
    • Donate to Member
Re: DC Homebrew Mini-CMS Discussion
« Reply #8 on: May 18, 2006, 07:49 PM »
i am not opposed to imposing some rather strict formatting requirements on articles/reviews/software page that goes beyond what we currently impose, but the basics are the same - users are going to want to be able to create pages with lots of pictures, and custom sidebars.
I'm still trying to understand some stuff on this thread, ut i think ithis is an important point.
I think that the rules for formating articles/reviews/etc ;) should be *very* strict. On one hand, this makes creativity be limited, but on the other hand, it makes the site look all the same, which is great for newcomers, because when they see the structure of one page, the rest are all alike, and also because this way, the user can make beautiful stuff without much work, because as there aren't many options, we can make all the options look good. Another important point is that, without much options, and a stricter format (maybe something using templates, a bit like the webfind template.

Just my $0.02 ;)

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DC Homebrew Mini-CMS Discussion
« Reply #9 on: May 19, 2006, 03:32 AM »
i think jgpaiva is right, and i would agree with that.
let's have a standard format and css for articles/reviews/download pages,
so that there is uniformity of appearance.

i was looking at Smarty Templates and Zend for PHP - any opinions?

Carol Haynes

  • Waffles for England (patent pending)
  • Global Moderator
  • Joined in 2005
  • *****
  • Posts: 8,069
    • View Profile
    • Donate to Member
Re: DC Homebrew Mini-CMS Discussion
« Reply #10 on: May 19, 2006, 04:12 AM »
The site I am producing stuff on for my local museum uses quite a nice format. It isn't useable here unless you want to use ASP and it may be bespoke. Basically each user (museum in this case) can login and add page sets (learning journeys in this sites case). The pages are added via a simple webform which includes fields for the main text and extra fields for links, graphics, videos, downloads etc. to be included.

The nice thing is that the main page text can be typed in manually or in any version of Word (using normal text formatting options but not graphics) and then pasted into an applet which strips out all the redundant MS tags etc. but retains text formatting. A standard template is then applied to the pages as it is added.

I'm not suggesting Word is necessarily the ideal thing to use but an editor that is cross platform and allows text formatting would be good. Pages could be edited and stored off line and then simply pasted into the standard format.

If you want to see and example of what it looks like go to http://www.mylearnin...id=49&jpageid=20

Technically the site isn't live yet (you just get a holding page on the main domain page) so it is a bit rough around the edges and my pages aren't yet published (I still have to actually type a lot of them).

It is a very simple system that anyone can use and may not be too hard to develop in house so it is tailored to what you want. Plus it could then be published as a simple CMS for others to use.
« Last Edit: May 19, 2006, 04:14 AM by Carol Haynes »

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DC Homebrew Mini-CMS Discussion
« Reply #11 on: May 19, 2006, 04:13 AM »
looks interesting carol;
in this case i think we want to be more rigid about formatting.. i think.

smarty looks particularly relevant in terms of template/content processing: http://smarty.php.net/whyuse.php

Carol Haynes

  • Waffles for England (patent pending)
  • Global Moderator
  • Joined in 2005
  • *****
  • Posts: 8,069
    • View Profile
    • Donate to Member
Re: DC Homebrew Mini-CMS Discussion
« Reply #12 on: May 19, 2006, 04:18 AM »
I can't see how it could be more rigid - the contributor has very little say in how the pages are laid out - just what fonts they want to use in the text. Page layouts are identical with the exception of a few optional templates of where you put images.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DC Homebrew Mini-CMS Discussion
« Reply #13 on: May 19, 2006, 06:07 AM »
ah i see.. i thought you were saying people could upload a ms word file, but you were saying basically you could upload a ms word file and it will strip out most stuff.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DC Homebrew Mini-CMS Discussion
« Reply #14 on: May 19, 2006, 06:08 AM »
it's certainly an attractive site.

Carol Haynes

  • Waffles for England (patent pending)
  • Global Moderator
  • Joined in 2005
  • *****
  • Posts: 8,069
    • View Profile
    • Donate to Member
Re: DC Homebrew Mini-CMS Discussion
« Reply #15 on: May 19, 2006, 06:41 AM »
I may be naive but I think that it shouldn't be too hard to produce a CMS like this from scratch -- here are a few shots to show how it works ...

Basically each "Journey" is set up as a set of pages. In terms of what you want to do this could be analagous to a user having a set of pages or a particular section of the website (eg. Mouser's software).

The "journey" has a management page where pages can be added, edited, deleted and previewed: like this ...

overview.gif

Clicking Edit for a page takes you to a simple layout for the page where you fill in the details:

intro_planner.gifDC Homebrew Mini-CMS Discussion

Notice the main text section has a [W] icon which you click to paste in Word documents from the clipboard - these are processed to retain fonts etc. but remove all pointless tags and Word metadata.

Finally the page as previewed looks like this ...

preview.gif

It has the advantage that it really is simple to use, it's secure because people don't need access to any web resources to use it, and in the mylearning site no pages are made 'live' until they have been checked by their admin/moderator or whatever.

From the user's point of view it is very simple - they just type a document either on screen or better in an editor and paste it in.
« Last Edit: May 20, 2006, 07:15 PM by Carol Haynes »

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DC Homebrew Mini-CMS Discussion
« Reply #16 on: May 19, 2006, 06:48 AM »
that does look nice - i like the image interface though it's a bit restrictive in terms of placemenet.

i do not think it's an altogether trivial interface you are describing, though lots of cms work very similarly.

image uploading and positioning is a bit tricky.

i'm still thinking of modifying the the forum infrastructure to provide editing and management for the articles rather than a new custom system..

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DC Homebrew Mini-CMS Discussion
« Reply #17 on: May 19, 2006, 07:01 AM »
i'm really liking the idea of using smarty..
plugins here:
http://smarty.incuti.../?page=SmartyPlugins

include things for making thumbnails, grabbing rss feeds, etc.
seems to me this is exactly the kind of stuff i was wanting.

and we could add extenesions(plugins) to smarty for doing things like:
grabbing posts/thread contents, grabbing # of replies on a thread, grabbing attached images for a post, etc.

so that smarty could be the basis of doing the actual building of static pages from content+templates.

the idea of building static pages will also let us do some fun stuff like adding random quotes to pages, etc., without worrying about dynamic page generation costs.  i like it. the idea of statically generating pages is very appealing to me.

then on top of that we would build a system that would know how to tell smarty what to rebuild and when and where to put output (ie when certain posts change, or when an article is "published", etc.).

then there is the issue of how do users write content (articles, download pages, etc.)
« Last Edit: May 19, 2006, 07:04 AM by mouser »

jgpaiva

  • Global Moderator
  • Joined in 2006
  • *****
  • Posts: 4,727
    • View Profile
    • Donate to Member
Re: DC Homebrew Mini-CMS Discussion
« Reply #18 on: May 20, 2006, 06:59 PM »
I'm still catching up on this thread, i'm just posting to report i can't see the images Carol posted.. :(
I think it might be related to permissions (because when i click them, i get the "you are not allowed here" error).

jgpaiva

  • Global Moderator
  • Joined in 2006
  • *****
  • Posts: 4,727
    • View Profile
    • Donate to Member
Re: DC Homebrew Mini-CMS Discussion
« Reply #19 on: May 20, 2006, 07:04 PM »
That means, mouser that when someone made a post, that post would be processed, sent to smarty, which would generate a static page from it and store it, right?
BTW, the test forum page, as it is right now, is a dynamic page, right? (i mean because it has those toolbars that can disappear, or be collapsed)

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DC Homebrew Mini-CMS Discussion
« Reply #20 on: May 20, 2006, 07:08 PM »
the forum will not change.

the idea is that for example, we will be able to tag certain posts in the forum (like a mini-review), and say, ok make this post available as a real page on the site in section Reviews -> MiniReviews.

and then from the Reviews Page they will see a list of minireviews, including that one,
which they can read in a nicely formatted full page view with sidebar, and click to discuss it in the forum.

so the forum itself wont change, but it will allow us to build a kind of static organized web page out of the best posts.

Carol Haynes

  • Waffles for England (patent pending)
  • Global Moderator
  • Joined in 2005
  • *****
  • Posts: 8,069
    • View Profile
    • Donate to Member
Re: DC Homebrew Mini-CMS Discussion
« Reply #21 on: May 20, 2006, 07:14 PM »
I'm still catching up on this thread, i'm just posting to report i can't see the images Carol posted.. :(
I think it might be related to permissions (because when i click them, i get the "you are not allowed here" error).

Strange - I use the inline thumbnails - I'll change them to standard pics ... have a look now.

jgpaiva

  • Global Moderator
  • Joined in 2006
  • *****
  • Posts: 4,727
    • View Profile
    • Donate to Member
Re: DC Homebrew Mini-CMS Discussion
« Reply #22 on: May 20, 2006, 07:48 PM »
Strange - I use the inline thumbnails - I'll change them to standard pics ... have a look now.
Nope.. Still not working. I have some strange privilegies in this section, i can view the posts, but i can't search, see images, or even use the quote button.. It's a bit weird.

@mouser: Ok.. Now i get the idea. This sure looks interesting! That means that the thread-opening posts at the mini-reviews section would be limited in look, so that it fits the review pattern, or with smarty there's no need for that?

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,914
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: DC Homebrew Mini-CMS Discussion
« Reply #23 on: May 20, 2006, 07:54 PM »
try now jgpaiva, see if i fixed the issue.

jgpaiva

  • Global Moderator
  • Joined in 2006
  • *****
  • Posts: 4,727
    • View Profile
    • Donate to Member
Re: DC Homebrew Mini-CMS Discussion
« Reply #24 on: May 21, 2006, 05:51 AM »
Great, mouser, now i even see the posts on the recent posts section! Thanks!  :Thmbsup: