Website Babble Webmaster Forums  


Go Back   Website Babble Webmaster Forums > Creating a Website > Web Design & Development Software (Including CMS)

Your WB Notifications

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 05-26-2009, 07:08 PM
Johnny's Avatar
Master Babbler
 
Join Date: Apr 2008
Location: Cleveland/ Columbus, Ohio
Posts: 139
Johnny has a rock solid WB reputation (over 200 points)Johnny has a rock solid WB reputation (over 200 points)Johnny has a rock solid WB reputation (over 200 points)
Send a message via AIM to Johnny
Default CMS Ideas (What would you like to see?)

Hey there everyone!

A few months ago I started a project for my masters program where I needed to construct a mini online 'content management system.' What started out as a simple assignment has kind of snowballed and become an obsession.

When I first got started in web design/development, I was turned off by popular CMS's like Joomla! and Drupal, because they were just too darn confusing for a beginner. Knowing everything that I do now, I've studied them endlessly to get a feel for their workings, and I'm still not very impressed. Although they are both great and powerful pieces of software, I'm still convinced that they're entirely too cluttered, unintuitive, and obtrusive.

Anyway, I've decided to write a new one utilizing their best features and scrapping the unimportant stuff. The last few months I've been spending a good majority of my free time writing it and I'm really starting to believe I've got something that a lot of people would enjoy.

So far it features:
- Search engine friendly URLs
- Both a rich-text and HTML editor, with one click toggling between them
- An integrated site search engine with keyword highlighting
- A private messaging (e-mail) system
- Configurable themes
- A blogging platform with comments
- Countless appearance/permission preferences
- Plug-in/extension ready
- Pre-made CSS and JavaScript "widgets"

I'm sure it sounds like just another Joomla! knock-off, but I'm convinced that it's far from that...

So I ask you, fellow Babblers, what would you like to see in an out-of-the-box content management system, and/or what are the CMS's you've used doing wrong (or right).

I'd really appreciate any ideas/suggestions!

__________________
Yellow Aeroplane Web Solutions

Last edited by Johnny; 05-26-2009 at 07:11 PM.
Reply With Quote
  #2 (permalink)  
Old 05-26-2009, 08:09 PM
lisa's Avatar
Administrator
 
Join Date: Apr 2007
Posts: 7,390
lisa is the Admin and cannot be rated.
Default

I know a lot of people love Joomla, but I tried it once and I absolutely HATED it. I agree that it just wasn't intuitive at all. I don't use anything but WordPress as far as CMS goes so my suggestions are based on what I like about WP.

1) I really like the draft feature where you can go and review previous drafts of your posts/content.

2) I don't know if you can do this already with Joomla, Drupal, etc. but I really think it's helpful to have a way to preview and test your new design/theme before going live. Perhaps you can already do that but just thought I'd throw that in.

That's all I can think of now. I'll post more if something jumps out. Good luck with your masters program.
__________________
Don't put the cart before the horse.
Plan your website, then create it.

Your Free Guide to Starting a Website
http://www.ThePerfectSiteGuide.com




Reply With Quote
  #3 (permalink)  
Old 05-27-2009, 12:27 AM
Junior Babbler
 
Join Date: May 2009
Location: Chennai, India
Posts: 15
vikramjb has a few positive reputation points
Smile

Post scheduling would be much wanted feature if I am not wrong. Its there in WP as well as Joomla. Post scheduling gives content authors to have more control over when there content is published and also they don't have to manually logon to the site to publish the post. All the best with your CMS tool

Another nice feature would be to know how many times an article / post has been viewed in the article manager itself.

Is it going to be paid or Opensource ?

Last edited by vikramjb; 05-27-2009 at 12:30 AM.
Reply With Quote
  #4 (permalink)  
Old 05-27-2009, 01:19 AM
Donk's Avatar
Supreme Babbler
 
Join Date: Jan 2009
Location: Kent UK
Posts: 590
Donk is an elite member of WB with 1500+ reputation pointsDonk is an elite member of WB with 1500+ reputation pointsDonk is an elite member of WB with 1500+ reputation pointsDonk is an elite member of WB with 1500+ reputation pointsDonk is an elite member of WB with 1500+ reputation pointsDonk is an elite member of WB with 1500+ reputation pointsDonk is an elite member of WB with 1500+ reputation pointsDonk is an elite member of WB with 1500+ reputation pointsDonk is an elite member of WB with 1500+ reputation pointsDonk is an elite member of WB with 1500+ reputation pointsDonk is an elite member of WB with 1500+ reputation points
Default

Quote:
Originally Posted by vikramjb View Post
Post scheduling would be much wanted feature if I am not wrong. Its there in WP as well as Joomla. Post scheduling gives content authors to have more control over when there content is published and also they don't have to manually logon to the site to publish the post.
An expiry date would also be useful for voucher code etc sites where the content has a known "shelf-life".
Quote:
Originally Posted by vikramjb View Post
Another nice feature would be to know how many times an article / post has been viewed in the article manager itself.
This could be extended to give similar information to that which is available with G analytics.

Jquery (or similar) built in so that the jquery addons could be easily integrated.

Multidomain facilities so that one admin area could be used for many websites.

And finally the html editor to allow simple php statements and php includes.

I'm sure I will think of more but that is all for now.

Bob
__________________
PHP Snippets PHP Captcha Code Resizable Html
"A website with a thousand resources starts with a single page".
"Don't fight the gator - clear the swamp"
Reply With Quote
  #5 (permalink)  
Old 05-27-2009, 11:19 AM
Johnny's Avatar
Master Babbler
 
Join Date: Apr 2008
Location: Cleveland/ Columbus, Ohio
Posts: 139
Johnny has a rock solid WB reputation (over 200 points)Johnny has a rock solid WB reputation (over 200 points)Johnny has a rock solid WB reputation (over 200 points)
Send a message via AIM to Johnny
Default

Wow guys! That's some really good stuff... I appreciate it.

@Lisa:
I think you'll be pleasantly surprised then. In my system, there is no separate 'admin area.' The admin section is actually built right into the user-facing portion of your website (when you log in, an 'admin toolbar' drops from the top of the page)! Everything you do is in real time and it appears just as your visitors will see it.

As far as implementing a drafts feature... that's something I've totally overlooked, and it certainly wouldn't be that difficult to do. My only concern would be how to define a limit. Maybe something like saving up to ten drafts and deleting the oldest one each time the page is updated?
@vikramjb:
Post scheduling is something that I still can't decide on. It is no doubt a very useful feature, but it comes with it's problems too. The main goal of my CMS is speed. In order to implement post scheduling, I'd imagine that some sort of semi-constant AJAX system would need to be implemented, which would in turn slow the site down a bit.

The only 'practical' method I've devised (for my purposes at least) is to do a quick check for posts that need to be published when a user performs some arbitrary action (i.e. logging in). This wouldn't be elegant or precise, but it would work.

And finally, I'm an open source junkie (heck, I'm typing this message on a Linux system )... so it will definitely be open source. The source code is heavily commented and I'm going to push for community participation and sharing. It's going to be released under the (L)GPL.
@donk
An expiry system would entail the same double-edged sword as post scheduling. I know you're pretty good with this stuff, so how would you recommend implementing it without sacrificing performance?

In order to keep my program fast and simple, I'm making a few assumptions and setting some requirements that I'm well aware will limit my potential userbase. Let me explain.

I know this probably sounds like I'm some kind of maniac, but I'm requiring Apache2 (with .htaccess[or similar] and mod_rewrite enabled), PHP 5, and MySQL 5. I'm aware that this will drive people away, but looking over Joomla, Drupal, and Wordpress, a HUGE majority of their source code (at least 25%... probably way more...especially Joomla) is spent preparing URLs, allowing for PHP 4 compatibility, and catering to other types of databases. Although I really do appreciate the effort, I feel that it's a waste of code and valuable script resources and time.

My requirements may be a little much, but those tools are quickly becoming the hosting industry standard, and I don't see it being too much of an issue.

Likewise, I'm forcing jQuery. Like you said, I just couldn't pass over the plug-in potential, extendability, huge community, and simplicity jQuery offers.

Finally, allowing PHP statements in the pages would be both tricky and dangerous. In order to implement this in my system, I would have to utilize the 'eval()' command, which I REALLY don't want to use anywhere. Ever. It's just too risky.

But, what you will be able to do is create a 'module', which is actually a PHP page that the user interprets as a regular, MySQL-generated page... so this capability will exist, just in a different manifestation.

Phew.

Like I said, I really appreciate it guys. Let me know if you come up with anything else!

If anyone else here has anything to add I'd love to hear your ideas too!
__________________
Yellow Aeroplane Web Solutions

Last edited by Johnny; 05-27-2009 at 11:23 AM.
Reply With Quote
  #6 (permalink)  
Old 05-27-2009, 09:06 PM
James's Avatar
Super Moderator
 
Join Date: Dec 2007
Posts: 2,683
James is an elite member of WB with the maximum amount of reputation barsJames is an elite member of WB with the maximum amount of reputation barsJames is an elite member of WB with the maximum amount of reputation barsJames is an elite member of WB with the maximum amount of reputation barsJames is an elite member of WB with the maximum amount of reputation barsJames is an elite member of WB with the maximum amount of reputation barsJames is an elite member of WB with the maximum amount of reputation barsJames is an elite member of WB with the maximum amount of reputation barsJames is an elite member of WB with the maximum amount of reputation barsJames is an elite member of WB with the maximum amount of reputation barsJames is an elite member of WB with the maximum amount of reputation bars
Default Good work, Johnny!

I'm not educated well enough in this area to offer any help relative to the programming side, but I would like to give you my word of encouragement. Your posts have always stood out as top level thinking and it is good to see what you are up to.

If what you are developing is anywhere near what you describe, and I have no reason to think otherwise, I think you may have a real winner. And if open source it could only get better over time.

Good work, and congratulations on your educational achievements as well.
__________________
Good Success!

Douglas County Master Gardeners
"We don't always get what we want, but we always get what we expect."
Reply With Quote
  #7 (permalink)  
Old 05-28-2009, 01:10 AM
Junior Babbler
 
Join Date: May 2009
Location: Chennai, India
Posts: 15
vikramjb has a few positive reputation points
Smile

Johnny

Rather than an Ajax system, I would suggest using Cron in Php. Here are some interesting articles on it.

Article 1
Article 2

Wordpress uses Cron to do automatic posting based scheduling which words on Linux as well as windows. You can probably look at that script and make your mods to the script to suit your CMS.

The same concept can used to expire posts also. There is one other simple way to but I am not sure if its elegant.

A post is obviously scheduled in the future date. So when we are doing the querying for posts to be displayed in the UI the select query can be like this

SELECT * FROM POSTS_TABLE WHERE PUBLISH_DATE <= CURRENT_DATE

What this query will do is, return all the posts in the table whose publish date is less or equal to the current date on the server. For instance, if you have the following

Post 1 - 03/03/2009
Post 2 - 03/04/2009
Post 3 - 03/05/2009
Post 4 - 03/06/2009

Assuming the current date is 03/05/2009 then the select query will return only the first three posts. Now when the date changes and If the user is any random page, and either goes to the home page or does even a refresh on the home page the query will change to give you the results of all 4 posts. I am giving this logic on the top of my head so I am not really sure if it has any loop holes .

Let me know if you need any help on this, would be glad to help you out.
__________________
Programming Fundas
Reply With Quote
  #8 (permalink)  
Old 05-29-2009, 05:04 PM
Johnny's Avatar
Master Babbler
 
Join Date: Apr 2008
Location: Cleveland/ Columbus, Ohio
Posts: 139
Johnny has a rock solid WB reputation (over 200 points)Johnny has a rock solid WB reputation (over 200 points)Johnny has a rock solid WB reputation (over 200 points)
Send a message via AIM to Johnny
Default

@vikramjb

Thank you. I think I've figured out how to slay this beast, and it hit me because of your reply.

First of all, regarding Cron:
Cron is amazing. I use it daily on my own system (Ubuntu Linux 9.04). The problem with Cron however, is it is only available on *nix systems (Linux, Solaris, BSD, Mac OS X, etc...). Windows does have a similar tool (called Scheduled Tasks or something), but it isn't exactly Cron.

In my perfect world, I'd wake up tomorrow and everyone would be running Linux or Mac and Windows would cease to exist. Sadly, this is not reality.

Now what Wordpress does is attempts to use Cron. First, it looks to see if Cron is available. Next it tries executing the Cron job and then waits for a response. If it worked, great. If not, then it starts from the top and tries a new strategy.

The thing is, even if Cron is installed on a server, and if the server's PHP settings allow execution of command-line scripts, it's still very possible that the hosting provider has disabled user-level command execution (often the case on shared hosting accounts).

As I mentioned in my previous post, this is my problem with other CMS's. They allow for too many 'ifs.' When time could have been spent just doing the job directly, it was wasted trying to do it a certain obscure (albeit very efficient) way.

Now on to your second method...

Replying to you in my last post I said:

Quote:
The only 'practical' method I've devised (for my purposes at least) is to do a quick check for posts that need to be published when a user performs some arbitrary action (i.e. logging in). This wouldn't be elegant or precise, but it would work.
I probably wasn't very clear about what I meant, but it's EXACTLY what you suggested. I'm just happy you could make what I was thinking clearer in my own head. Kudos.

WARNING: The rest of what I'm about to write is probably really, really boring, but I can see the solution clearly right now and I think typing it out would solidify it for me.

Your example query is pretty much exactly what I'll be doing. The issue I was having was that since HTML is a 'stateless/static' medium, something needs to happen in order for the query to be executed.

When I was reading your suggestion, that 'something' hit me.

Here it goes:

In my system, there are 4 distinct kinds of pages - mainPages, subPages, entries, and modules. Each of them serves a different purpose (or more accurately, purposes), but they are all displayed to the screen in the same way. Template designers simply echo out a method(function) called 'displayContent()' from an object called '$content' ($content->displayContent()).

What that jargon means is that EVERY time a viewable page is displayed, this function is executed. What I'm going to do is sneak a 'pseudo-Cron' command inside this function. Take this code snippet:

PHP Code:
function oddsAre($odds) {
    
$num = intval($odds);
    if ((!
is_int($num)) || ($num <= 0) || ($num > 100)) {
        
trigger_error("Function 'oddsAre()' only accepts whole numbers between 1 and 100.", E_USER_ERROR);
        return
false;
    }
    
$spin = mt_rand(1,100);
    if (
$spin <= $odds) {
        return
true;
    } else {
        return
false;
    }
}
What this does is takes the number(odds/probability) you give and returns either true or false based on your number. The closer your number to 100, the better the odds of returning true. What does this have to do with what I was talking about?

Well, since $content->displayContent() is called on every page, I can simply stick this inside the displayContent() function:
PHP Code:
if (oddsAre(33)) {
    
$this->doScheduledTasks() // <-- another function that 'does things'
}
What this means is that roughly 1/3 of the time any 'content' is displayed, the system will do things like check for posts that need published, ones that have expired, and user sessions that have expired and handle them accordingly.

It won't happen every time, so performance won't be hurt too bad, but it will happen enough to be efficient. Likewise, webmasters will be able to tweak this number to their own liking.

Alright... I'm done now. If you read that all, well you have a greater attention span than I.

I'm not exactly sure how you did it, but your post got my brain firing!

Cheers.

__________________
Yellow Aeroplane Web Solutions

Last edited by Johnny; 05-29-2009 at 05:11 PM.
Reply With Quote
  #9 (permalink)  
Old 05-30-2009, 04:53 AM
Junior Babbler
 
Join Date: May 2009
Location: Chennai, India
Posts: 15
vikramjb has a few positive reputation points
Smile

Glad to be of help Johnny

So what you are basically saying is, if the number is 33 and "IF" at any given point in time the mt_rand returns a number less than or equal to 33 then the scheduled tasks will be executed, correct ?

If that is the case, do we have a high probability that at any given point in time say we have some scheduled posts but then the random number constraint is not satisfied. For instance if the number is 33 and what will be the chances that this number does not match the one that is generated by mt_rand ?, wouldn't it reduce the chances of a post being published even though the publish date has gone by ?.

For a CMS, if we say a post is going to be published on 12th May 2009 06:00 AM then it means it has to be published at exactly the sametime, right ?. Can the above implementation guarantee the publish date will be exactly what it is scheduled for ?

There is one other way we can do this which is Using back-end. Before you takeout your baseball bat to smash me, hear me out and let me know the flaws if any.

We can have a stored procedure running on a specific time interval which can be dictated by the admin of the CMS. Now this SP will pick inputs from a table where we will store the publishing job details. Now I am sure you will have flags to differentiate Published posts and Draft Posts. Now this SP can update the concerned table's publish flag which will in turn "ensure" that the very next time a user does a refresh of a page or goes to a new page in the CMS the new post would bee published at the date scheduled.

I am not sure if this increases your dependency on the db site but then it does increase the chances of a post being published at exactly the time it was scheduled for. Let me know what you think
__________________
Programming Fundas
Reply With Quote
  #10 (permalink)  
Old 06-03-2009, 05:07 AM
Regular Babbler
 
Join Date: Apr 2009
Posts: 39
extomas has no reputation at Website Babble yet.
Default

I'm glad to here about real time editing, it is quite new
I'm planning project where opensource maniacs (like me) could have news and articles, open source variuos software downloads, so you are invited

About your cms:

I'd like to see menu editing, but my offer while I not saw it would be - to do that menu link in editing mode would be opened in new window.

Other offer: posibility to use wide and centered themes

I will think more later Good Luck
__________________
Affordable SEO Company India
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On




All times are GMT -6. The time now is 08:45 AM.


 Subscribe to RSS

WB Sponsors

flash chat

Home Jobs Online

Search Engine Marketing

Paid Surveys

custom website design

Web Design Newcastle



 Subscribe to the Website Babble Feeds

2 Create a Website Homepage | 2 Create a Website Blog


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0