I've been working hard on quite a few different small projects, and (because of my failure to complete advertised projects in the past) I've kept them quite in the dark. For some reason, this has worked for me. But now I'm going to try my luck at the transition to being more outspoken on the development of my projects once again.

Anyway, enough with the jibber-jabber. I have a question for you Smile

If you own (or wish to own) a website, no matter what it is, how popular it is, or how complicated it is, what would be something you'd like to have on your website that would make it really easy to work on it?

For instance, how would you like to manage your users? How would you like to manage the content? How would you like to be able to edit or post things like blogs, music, or videos?

Regardless of how complicated or simple the idea is, I would absolutely love to hear it! I'm trying to do my best to survey as many people as possible so I can implement the most easy-to-use tools in my software, so I can make it a lot easier for everyone out there to manage your websites Smile
Well, when I'm developing I like to use Komodo Edit. Also, I've been waiting on a port of Zen Coding to Komodo's plugin architecture, but if you have a supported editor you DEFINITELY need to check it out.

[edit]
Actually it seems there is a community supported port here: http://community.activestate.com/xpi/zen-coding

Also, I know this isn't quite what your topic is about, but it's what comes to mind for me given the topic title Wink
So as you know Cemetech is built around (initially) phpBB, but has vastly expanded to the point where the non-phpBB code dwarfs the inherited code, and has been patched and upgraded beyond recognition. I use the original templating system with my own templates, plus modifications for inline PHP in the templates. I have a custom AdminCP that I wrote for administering news, projects, the file archives and archive structure, etc. I do most of my graphics design in GIMP, most of my coding in Notepad++ (be it JS, PHP, HTML, etc), and almost all my file transferring with FileZilla.
WOW! I've had ideas to tell you for weeks but I didn't want to feel pushy about it. Rolling Eyes

So! I would love to have a group system. Not classes like "Administrator" or "Moderator." The way I see this as different is that no one would be labeled as "Moderator" and you can name groups anything and give them certain privileges. Maybe they can edit but not delete posts/replies/comments or visa versa. I feel coding in admins and moderator privs would be too much, so way not allow the user to create a group and assign privs? I just think that'd be easier.

But I have no real use for a moderator group, I need a client group. Evil or Very Mad Where people can order services and images after a fixed "donation" for the selected option to a paypal account.

And an option to set a primary group for new registers, like for me that group would be "Clients." I have more suggestions, just none on how to manage users Sad
A shoutbox that connects to an IRC channel would be helpful for the ToB website, although, it uses Joomla! which uses PHP.
Alex, thanks a bunch Razz

Basically, I'm talking about any type of suggestion having to do with features to add to the CMS, not jus managing users. So feel free to pour on the suggestions Smile

Lucas, it's all written in PHP Wink
That's really all I code in, honestly. Haha.

Basically, what are some features of Joomla! that you like, and what are some things that you wish Joomla! had, in the way of managing the website? Not only that, but extras and things too.

Kerm, what are some elements you implemented into your custom Admin CP?

Elfy, Shweet! Definitely gonna check that out. I've been using Eclipse PDE D': *sniffle*!!
I like Joomla's backend GUI for administration and easy addon installing.

The only thing I don't like about Joomla! is the lack of Captcha for website registration.
Lucas W wrote:
A shoutbox that connects to an IRC channel would be helpful for the ToB website, although, it uses Joomla! which uses PHP.
You mean like SAX, #cemetech, and saxjax? Very Happy

Swivelgames wrote:
Kerm, what are some elements you implemented into your custom Admin CP?

Here's a super-duper outdated screenshot from five years ago:


The current one has the same four categories, grouped into Site Functions, News Functions, Project Functions, and Archives Functions. From Site Functions you can access the original phpBB admin CP, and you can also edit the source of any Cemetech page online, on the fly. The News functions let you add a new news article, or edit any of the existing articles. Relatively recently I added a function "promote this to the front page", which appears for me above the first post of every topic. This lets me write a news article as a thread with BBcode, promote it to a news article (which automatically converts it to HTML for posting) and also makes that thread the discussion thread for the news article. The Projects Functions has four subsections, for creating and editing projects and project categories. Finally, the Archives Functions is the most complex of all. The first two subsections let you edit any of the folders in the file archives, or add a new folder. The third subsection is for editing files in the archives: you basically navigate through the archives as you would from an end-user perspective, except that when you get to your destination file, it appears as a page of fields for editing instead of the standard text-and-images view. Next is Check Archives Integrity, which looks for .zip files in the file structure with no database entry, or vice versa, and provides easy links for repairing such errors. The fifth subsection lets you manually add a file with an arbitrary author ID etc, which has come in handy a few times. The six subsection is the one I use the most often, Moderate Pending Queue. I get a visual notification on every Cemetech page when someone has uploaded a file that is pending moderation, so I know to come to this section to accept, reject, or accept with changes for each pending file. The last subsection in Archives Actions is View Archives Actions, where I can see a list of all the ratings and reviews added to programs.

Hope this helps.
swivel: Alright!

I'd love a calendar that users can "add" events too, probably has a public-userbase appeal. But for clients wanting to schedule events, it'd be ace!

And a payment system - Not for "subscribed" members (but I don't see why not) - that I could attach to events and images. Download small images for 2$ each, medium 4$, etc. As for events, select event from drop down and pick a date and time, add a location and it's added. In the ACP an option to enable payment.

I think payment during event "registration" would be weird, I think users should confirm the event with me before having to pay. Maybe for the "payment" just a paypal button with a box where you can specify the donation amount but the box would be non-editable because that box is where the CMS adds the amount of the services/images.

I'm just curious, Are you going to add a forum with an integrated blog?

My ideas aren't very organized.

At the very least: A calendar I can add events to and a system to download files for a fixed price, and after payment can be downloaded.


And KermM: Find a new image, that one doesn't exist!
Alex, I fixed the image, it was a jpg, not a png, and hence my URL type-out from memory was slightly incorrect. Smile
Part (1) of Post:
    Hey, is there a feature list we can read somewhere? As what to expect in the final product (forum? calendar? galleries & sub-galleries? blog? members?) I am aware some of these are obvious features based on what you've posted but a complete list would be fantastic.


Part (2) of Post:
    How customizable will the (backend) registration system be? I've been thinking on ways to simplify your part of the work on my website and one method I've come up with is to auto create (or at least prepare) a new user-group for every new member.

    I'll be working with clients so having private parts of the site is crucial and a must. Public parts (a public forum, for such) is less important to me. On registration the system creates a new user group (client name or some factor) adds me and the client as the members then proceeds to setup a forum category, photo gallery and a new calendar visible to that usergroup. As for the calendar, not a whole new calendar but rather a new series of events that is added to a universal calendar such as phones and calendar programs have series for Work, Home, School, etc.


Part (2b) of Post:
    And Google Calendar Syncing could be a plus. I'd have to look into the API to see if your website could create a new calendar on Google to list the events available to each client. Just a calendar named Photos would suffice. The client only needs one calendar and I only need one because I won't be schedule to four things a day with clients.

    See, now the calendar ideas are pouring out.

    Ya know, if there could be a calendar that is available to all clients that only I can edit, so clients know when I'm busy (work, school, etc) that'd be great. With the aforementioned it'd be as easy as adding new registrations to two calendars: Their own (mutually editable) and mine.

    And once I "confirm an event" with a client, it'd be copied to my calendar as "Busy" for other clients to see and not schedule me on that day.

Hm, after reading all this over this would be a great test for your extension system (the proper name alludes me). You wouldn't have to customize anything just write a script or few and plug it in.


Part (3) of Post:
    I mentioned a forum and I still need to think that over. I know I want a private forum but not so sure on a public one. I'd hate to have the private details of an event lost in any categories of a public forum. I don't want private events to get overlooked and as a result miss assignments. I've been thinking about two forums: one for private discussion between me & clients and another for general related photography as not all clients will be photographers. However, photographers may be clients so I'd like to minimize dual registration but won't worry if it can't be avoided.
Fascinating concepts there, comicIDIOT. For my part, a Cemetech-type website would be a good platform for a share public calendar, moderateable by site mods and admins, which we have currently. However, it would be neat if people could also add private items to their calendars, and be pinging in SAX and/or PMed and/or emailed with reminders about appointments and events.
I'll write up a feature list when I have the time to sit down and brainstorm with a clear head, but at the moment I'm swamped with moving out of my house, optimizations for Lemur, and quite a few other things. It's best to understand the way Lemur is structured to perform first before understanding how the "feature list" is made up.

Basically, there are four main elements that will make up the released version of Lemur.
  • User Framework (expandable, flexible)
  • Lemur Template Engine
  • Component System
  • Module System


Components
    Components are like integrated web applications. They use the core as a backbone to provide services like forums, blogs, and other more extensive additions to the site, including something like a private messaging system. The user framework can be considered one Component, although, Components are not so permanently integrated. Components support their own modules as well.

    Permissions are not incredibly extensive at the moment but right now I have the user framework running with Titles. Pages are viewable depending on the user's titles or session status (logged in, logged out). Pages can support logged in users, logged out users only, or both. The same will go for the different aspects of the components and modules. "Titles" are pretty much usergroups in the sense that permissions can be set for them and that they're not restricted to one user. The difference is simply that a user owns a title, as opposed to a usergroup containing members.

    For a blog component, this could be taken advantage of by adding titles like "Blog Admin", "Blog Author", "Blog Category Manager", "Blog Moderator", and maybe some others. A Blog Author could author posts (of course), a Blog Category Manager could edit, delete, rearrange, add, etc Categories (of course), a Blog Moderator could delete or edit posts, and a Blog Admin is a Blog Moderator with the ability to change settings.

    MrAuthor01 could then be a Blog Author and a Blog Category Manager, and you could be a Blog Admin, Blog Author, and Blog Category Manager.

    In the private forum example you mentioned, all users could be fitted with Forum Reader, Forum Poster, Forum Thread-Starter, and Gallery Viewer titles, a category with their Username could be created in the Gallery, and Forum components, and a tag could be created with their username in the Calendar component; All done when the user registers is approved. Your clients could then be restricted to only viewing their forum and gallery categories (with the exception of public categories), and Calendar events with their username tagged (else, displays event as "Busy").

    General photography categories could be in place and permissions for them could be configured to support a number of different options. Read/Post New Topic/Post for logged in users only, Read Topics/Posts for logged out, and all for logged in, etc. Either that or something like a Support Ticket component would suit you much better, along with the forum component. It would essentially be exactly what I described, except all those features would be native and not incorporated via modules or source modification.


Modules
    The module system extends from the core and from components. Modules are simply little widgets, features, or dynamic items that make up your website. A great example of a module would be a SAX module. A simple chat widget for your site. A few more examples: simple calendar (widget type), notifications (displays a notice at the top of the page; for announcements, alerts, etc), menus, usergroups, user titles (kinda like usergroups), simple blog, and maybe twitter widget. Basically a module is any add-on that extend's its base to add new functionality. For instance, one could actually build a forum component by installing a few modules ontop of a Blog Component.

    Modules that are associated with a specific component extend the component, and not the core, cannot be added unless their component is installed. They're dependent on the component. Modules either extend the core or a specific component. Any module that was written for a specific component cannot be used by a component it wasn't made for. So, extensions extend modules, modules extend components, components extend the core. Pages that mainly utilize a certain component can, however, utilize modules that aren't related to it. What I'm getting at is that if you had a SAX module that extended the core, you could have it on any page that you wanted to. Including your forum component pages. But it is not considered apart of the forum component, because it doesn't utilize the forum component, and it still extends the core.

    Also, upon Component installation you can choose multiple modules that you want to be installed at the same time, so it saves you some steps Smile


    Multiple instances of components and modules are supported. In the case of two modules they will share the same exact files unless a replacement is found for that specific module.

    Module_A pk1 (pk=private key) and Module_A pk2 both exist under the same installation. The different between the two is that Module_A pk1 uses a modified logo.png, and Module_A pk2 uses a modified Module_A class.

    So vanilla Module_A is installed. Module_A pk1 has its own /modules/Module_A/pk1/logo.png and Module_A pk2 has its /modules/Module_A/pk2/init.php

    They both utilize the rest of the vanilla version and only two new files were created for both instances, instead of double the files.


Lemur's structure can be illustrated like so:
    Core/User Framework/Template Engine
    • Components
      • Modules
        • Extensions
    • Modules
      • Extensions


All components, modules, and extensions are available in a cloud repository. You'll simply navigate to your Components page, click "Add Component", browse the categories, click "Add" on the one you want on your system and it's done. You may have to go through some config steps depending on the component, but the installation is quite painless and will integrate seemlessly with your installation. The same goes with modules. Almost as easy as just dropping the files on the server, except not... because it will do that for you Razz


Essentially, the main installation is completely barebone and empty, with nothing except for a user framework component, until you choose components and modules that you want to add to build up your site. With the barebone core, you're able to add/edit/remove parent and sub pages, etc... change user permissions, and all the normal CMS things. But the main functionality and purpose of Lemur is to give the ultimate power of extendability and system integration in the form of an "Add" button in the Components or Modules pages in the ACP. All components and modules are stored on a cloud, waiting to be installed instantly. That is the vision of Lemur.
tl;dr? Very Happy
swivelgames wrote:
tl;dr? Very Happy
Ah, I had thought I had responded. I am very impressed with how well you have thought this out and how much you planned before you got into intense coding with it. I sincerely hope you're able to bring it to fruition. That's a neat idea with extending modules; can you give an example of where something like that might be used?
A very simple example of a module extension would be an optional word filter for a SAX module Smile

Or possibly a link between two modules? For instance, an extension that connects your Twitter Module to your SAX Module? So whenever you update your twitter, it speaks through SAX.

Just a couple of brainstorms. I'm sure there is a large number of extensions that could work.


The idea of the whole thing is to have everything barebone; The core, the components, the modules, the extensions (without going too deep, of course). Now, of course you don't want it to be too barebone from the beginning, or it'll be a huge pain to get a site up and running with an endless amount of nested installation options. That's where packages come in. Core packages, Component packages, and Module Packages. They would come with the most recommended exensions, modules, or components, and would be preconfigured to fit a special purpose. It could then be customized from there to fit perfectly, depending on the extensions available to that modules or the modules available to that component. You get the idea. Good Idea

Maximum customizability. Maximum simplicity. Catering to developers and complete noobs. That's where I'm headed Smile
I know this is a miniscule detail, but it's something that just occurred to me. Do you have any plans for some kind of scheduling cron, so that modules can set a task to run once a minute, or once an hour, or once a day, something like that? For example, saxjax actually checks twitter precisely once a minute, but a webapp doesn't really have that luxury unless users are being helpful and loading one page a second all day long. Any plans for something like that?
That's a really good idea. And something like this would be really handy...

I'm sure I could brainstorm a bit and figure out a great way to do it. Hell, maybe even have the cloud ping a certain script on your server to initialize the cron. Got any good ideas, Kerm? Smile
swivelgames wrote:
That's a really good idea. And something like this would be really handy...

I'm sure I could brainstorm a bit and figure out a great way to do it. Hell, maybe even have the cloud ping a certain script on your server to initialize the cron. Got any good ideas, Kerm? Smile
Not offhand. Cemetech's cron system is all hard-coded into an hourly cron, which recalculates archive stats every hour, and also regenerates the statistics code on the front page only at hour 0. It also takes care of publishing news, topics, and the stats to Twitter.
I'm sure I could think up some idea of how I could go about this.

If I'm not able to do it in PHP, I could write an extension that utilizes Python or something similar to run a cron program on the server. However, that wouldn't be available to the many who have shared hosting and just want to throw a PHP CMS on their site and go. But something tells me they wouldn't have extensive use for a cron feature if they were in that situation...

Anyway, I'll see what I can come up with! Razz
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 2
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement