Ravens PHP Scripts: Forums
 

 

View next topic
View previous topic
Post new topic   Reply to topic    Ravens PHP Scripts And Web Hosting Forum Index -> General/Other Stuff
Author Message
killing-hours
RavenNuke(tm) Development Team



Joined: Oct 01, 2010
Posts: 438
Location: Houston, Tx

PostPosted: Tue Jun 14, 2011 8:06 am Reply with quote

Hey all-

When I first started using the forums, I read a post somewhere that posed the question:

(paraphrasing because I can't find that topic ATM)
Quote:
What should be the core of RN?


Since that time... it's been a question that has been stuck in my mind but I haven't really had the time or frankly... the drive to give much thought, much less, the time to express my thoughts on it.

The topic had quite a few replies of what to remove and what to keep... yada yada yada. In reading that post in it's entirety and developing my own modules for personal use...It has occurred to me what I believe the solution is to that question.

Answer: User Management, Display functionality... Period.

Now I may be behind the bell curve on this as I'm not privy to the developers discussions nor the developer meetings... so please forgive me if I'm covering the same ground here.

I've asked myself this question over and over again trying to come to a solid answer... "What do ALL content sites have in common?" This is how I came to my answer above. With that in mind... I began to look at how Ravennuke operates and what "should" be maintained by the core staff and what should be maintained by 3rd party developers.

Core:
1. User management
2. Security of the framework
3. Display functionality of content (I.e. themeing, admin area, modules area)

Everything else should be detached from the core. Obviously there will need to be a way for everything else to interact with the core (which was discussed in yet another topic I can't find ATM) and retrieve the data necessary to enable a module/theme to function correctly.

What this does is keep the core code much smaller and easier to manage for the Ravennuke developers. It also sets up Ravennuke to become modular in nature which is, if I remember correctly, an end goal in the Ravennuke development.

The reason for this post is to spur the discussion once again... but from a different perspective than the other topic as people were responding more along the lines of what to remove from the current version of Ravennuke... rather than looking at what Ravennuke at it's core "SHOULD" be. Also, it ties together the topics of "CORE" & "API" into one place.

_________________
Money is the measurement of time - Me
"You can all go to hell…I’m going to Texas" -Davy Crockett 
View user's profile Send private message
64bitguy
The Mouse Is Extension Of Arm



Joined: Mar 06, 2004
Posts: 1164

PostPosted: Tue Jun 14, 2011 1:15 pm Reply with quote

Probably been talked about in a million places on this site alone; but here's my "two cents" for what little it is worth (about two cents).

I think you'll find this (potential) can of worms subject will always have some resistance only because distinguishing "the core" from "the package" is hard to do without stripping the guts of what the CMS is intended to deliver for "Core" Services.

I say this only because "CMS" implies content management and thus, a certain amount of Content Management must be enabled with the overall solution.

Typically, standardized "modules" (and yes, they ARE components of the "Core") would be included in the "Package" such as, "Downloads", "Links", "Copyrights", "Your Account" (and yeah, like all of these modules, there are some really good YA Modules done by others!), "News", "Syndicated (external) News", etc...

Now, the "why" part. I think the primary reason for including all of these blocks and modules with the "Core" is because the developers have had time to test everything and to ensure that the "Core" functionality is (for lack of a better word) perfected in terms of being integrated with core themes, security and permissions. Do you need to enable it all? No... In fact I'm sure many people disable the features they don't want/need.

Truly, the hard part of developing a CMS is making everything (module wise) work in a unified, consistent manner; but in terms of support, not including these basic modules in the baseline results in every Joe releasing a slightly modified version (or as an example, "this" "Downloads" module versus "that" one) which makes the support of the overall package (like themes, security, etc...) a living nightmare. A good example of this is phpBB3 itself in supporting a baseline and NOT mods! Sure, you can get them; but don't ask phpBB to support them!

A couple of other CMS developers have tried (tried being the keyword here) to release baseline solutions without modules; but a quick look at their sites shows they've died on the vine because they didn't have (nor did they support) the modules that people wanted.

It's a Catch-22 truly. The problem even exists just in module development and evolution of that vertical code (look at CNBYA for example!)....

I know Raven has (and many others have) talked about starting the core over from scratch for years (Haven't we all?); but really.. who has the energy to undertake that? The same can be said for additional libraries. Starting over could be a godsend; but the grief... oh.. the grief!

The "Core" would typically carry on being maintained (security, bug fixes) by the Supporters/developers/contributors/authors of the overall package; however, I would comment that when I re-wrote 1CMS, I spent a HUGE amount of time re-writing ALL of the module code (over 1000 hours). In the end, I chose to keep all of that code for use on my Government Sites and to never release it to the public. Primarily because it is being used by Government entities and I wanted to keep the script kiddies away from it. So far that has worked to my advantage; however on the downside, support has been limited to 3 people Worldwide (the downside of not publishing your work so everyone can see the code).

The compromise (at least for me) has been to tell other serious developers/forkers (pardon the expression) what you changed and why to give them "hints" (or in many cases line by line examples) of how to recode the dangerous and/or exploitable code and to drop in fixes on various sites for the stuff that has been broken for years (frustratingly) that FB just won't fix.

In closing, personally (when I get time) I choose to help by working on certain specific things where I might have strengths. I think EVERYONE loves it when someone just recodes a module to make it better, stronger, more effective, bug-free, etc... Better is.... well.... BETTER! If you can make a great theme (that is compliant), SUPER! If you can fix a long-term bug, GREAT!... Got a new block... EXCELLENT! Wrote a new manual... Hey... Wonderful! But reducing the "Core"... that's a tough nut to crack; albeit POSSIBLE.

The biggest contribution in that regard would be to eliminate redundant code (for example: forums content filtering versus CMS content filtering, versus both! (Which I tackled in 1CMS). There are quite a few places where duplicated efforts are redundant if not simply outdated (meaning unnecessary lines and/or is no longer the ideal "methodology" (think global variables replicated in modules and then think of the evolutions from PHP3 to PHP4 and then to PHP5 and finally to PHP5.3.6 (simply in context of coding methodologies!) never mind the evolutions of MySQL and what that means to how db calls are made, etc...). Finally, think about how libraries have evolved and how 50 lines of code can be replaced by 10 characters of code! All of these things "trim the fat" of the Core so yes, it is possible; the question becomes, "is it practical" or reasonable in terms of library support? Or more importantly, "who's gonna do it?" and then support it?

The bottom line; when you (or I, or the virtual group) get into these discussions, my experience has been I always come out with more questions than when I went in. I truly believe the best way to move forward is for individuals to contribute wherever you can! If you can make it smaller, more effective, less bloaty or eliminate redundancies ... go for it!... But that's just my personal opinion!

_________________
Steph Benoit
100% Section 508 and W3C HTML5 and CSS Compliant (Truly) Code, because I love compliance. 
View user's profile Send private message
killing-hours







PostPosted: Tue Jun 14, 2011 1:38 pm Reply with quote

Sigh... you know... after re-reading your post multiple times and giving it some serious thought... It truly is a catch 22.

The way I see it... A CMS should only do those things I mentioned above... however, like you've pointed out... it's a very big risk in doing so if there is no (developer) community behind the CMS to deliver wanted modules.

I could see leaving some features as part of the "core" (news, your account) because they would fall directly under the things a CMS should do...but sheeesh... what a nut to crack.

Aye ya yii...

Thanks for your two cents 64bitguy... it shed light on things that hadn't crossed my mind yet. Back to the drawing board. Shocked
 
Raven
Site Admin/Owner



Joined: Aug 27, 2002
Posts: 17088

PostPosted: Sun Jan 29, 2012 12:46 am Reply with quote

killing-hours,

Have you read this old, but still pertinent, thread? If not, you need to, to see how relevant it was back in 2004 as it is today. That should help you to see a little of what Steph raised in his response to you.

To fork or not to fork - that is the question
 
View user's profile Send private message
Display posts from previous:       
Post new topic   Reply to topic    Ravens PHP Scripts And Web Hosting Forum Index -> General/Other Stuff

View next topic
View previous topic
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
You can attach files in this forum
You can download files in this forum


Powered by phpBB © 2001-2007 phpBB Group
All times are GMT - 6 Hours
 
Forums ©