The next generation of ocPortal
|
Posted
#72718
(In Topic #15255)
|
|
|---|---|
|
ocStaff (admin) |
The plan includes some serious structural reworking to ocPortal's code, and this part is almost finished. It's been commented that ocPortal doesn't do a lot of really modern programming practices, which is true, because it has no real use for them in v7 and lower. But there is a new generation of features that do require a much more object-orientated core, with better internal engineering between components: full revision control, the ability to push changes from one site to another, drag and drop manipulation of content repositories, easy migration of content in and out of the system. So the core has been heavily reengineered with:
Also some legacy stuff has been reworked, such as:
Strategically, the plan is to have a kind of 3-way approach:
The release plan is (when hopefully development can re-commence) to launch this as a separate series of ocPortal releases ("Enterprise" releases), probably as ocPortal 8 enterprise, ocPortal 9 enterprise, and ocPortal 10 enterprise, before removing support for what would then be the legacy codebase by releasing ocPortal 11. The reason is this is all highly compatibility breaking, over a number of releases, before we could be confident of being able to lock compatibility again and provide a good out-of-box experience. For a long time now we have maintained compatibility by being careful in choosing how we implement new features and general risk management (v6 is still our 4.2.x repository, and we have been very disciplined since v4), so this is the point it changes. So that's the basic summary. I am attaching a zip of current progress, and this includes also a few specification and design diagrams. http://ocportal.com/temp/v8.zip I'd love to continue working on this tomorrow, but the reality is we are now far beyond the level where ocPortal can be effectively developed in spare time, it's serious engineering and very expensive (we're talking about $80k for the full 8/9/10 release plan to get covered). We now always need to find a direct way to fund any non-trivial new developments because we can't just do this with the simple closed source model of selling software licenses. If we can find some large companies that need sophisticated content management, and want to have something more usable and innovative, then we're good to go again; it's just that is difficult in this economy, most companies are pushing back investments that aren't critical. As this is the place for messy code dumps, here's some more stuff…
Last edit: by Chris Graham
If I answered something that you think should be in the documentation, please take the initiative and add it to the community documentation. We really need people to help out here and build a well-organised large support resource. |
|
Posted
|
|
|
Community saint |
I find this both encouraging and discouraging. I use an commerce package that made a significant transition much like this (though yours is more ambitious) but they, of course, had the advantage of selling a paid software package. I am certain that your improvements will make ocPortal more desirable to a larger number of users who in turn can lead to more revenue through paid mods and design so I hope you will find a way to move forward. The discouraging part is the fact that money is hard to come by and will likely be that way for some time. Hopefully some large companies will see the benefits that ocPortal brings and can bring in additional revenue. On this front, we need to help prosyletize ocPortal especially to people who have money to spend. As for me, I plan on making a donation or two to ocPortal. I can't do it this month but I should be able to next month. This will, of course, be a drop in the bucket in terms of the monies needed to accomplish your goal but every little bit counts. On that, I suggest every ocPortal user who has benefitted from ocPortal try to also make some kind of cash contribution if possible. It's a bit like funding for public television where all the small contributions do add up and the benefit is that we already have a great software package from which to begin. Ask yourself, how much better has ocPortal made my job easier and try to put some monetary value on it and make that donation. ocPortal might also create a goal tracker that would show the amount contributed this way. Maybe start with a goal of $10,000 (that's only 100 $100 donations) and see if maybe that can get some money flowing in. Anyway, thanks for a great product and I look forward to using an even better product in the future. Bob P.S. I suggest everyone download and read the planned changes for version 8 to see what is intended.
Last edit: by BobS
|
|
Posted
|
|
|
ocStaff (admin) |
I just spent the day creating a new tracker addon for a support customer, and making big improvements to the gifts addon. If I answered something that you think should be in the documentation, please take the initiative and add it to the community documentation. We really need people to help out here and build a well-organised large support resource. |
|
Posted
|
|
|
Community saint |
Last edit: by Duck
|
|
Posted
|
|
|
Community saint |
That's why I thought of just allowing undirected donations towards a dollar goal. ocPortal could then use those funds as needed to properly drive towards the goal without needing to worry about refactoring stuff as the new system is implemented. Your idea would also help bring in dollars but removes some of the flexibility of letting the developers decide what gets implemented when. In a sense, we already have what you suggest as any of us can donate to one of the "feature request" in the Tracker that deals with the upgrade issues. I think Chris has all of them in there for v8. I still think a generalized goal to help move development forward is the best option with visible tracking of the goal and the amount raised. I know that I will put some money in the kitty one way or the other. Bob |
|
Posted
|
|
|
Community saint |
ahh didn't realize this sort of functionality was already implemented. Cool. Must look into that. Yeah my thinking was sort of that it could help also to direct what was most important to end users by definition of what raked in the biggest bounties which sometimes can surprise developers.. But as I say was just trying to brainstorm ideas. Wasn't positive it would be practicle certainly didn't know it was already basically in effect. |
|
Posted
|
|
|
Community saint |
It's a good idea but I like the idea of the developers having the latitude to make the changes in whatever order makes the most sense for the long-term direction of the project. In many ways, that's why large companies/rich benefactors can do so much to move a product forward. My idea is that raising $5-10k dollars helps lay that base foundation from which to move forward even if the improvements are not necessarily visible to us at first. Bob |
|
Posted
|
|
|
Community saint |
I think attraction of a larger user base might help too. Hopefully some of the recent activity of members will eventually snowball. This new theming incentive thing mght encourage some nice designs and perhaps attract more attention from those that assume the default theme and lack of visible alternatives limits their potential for artistic creations. Then theres the boost campaign of awareness. I myself have been voting places recommended but I know once I am finished implementing ocp in a few of my sites I will put in some linkbacks that will help too. Its a big job just the planning phase to implement but one site is near done planning and is soon to be structured then finished off with some theming. I am sure ocp is facing a test of resolve but one that will be won by staying true eventually. I have faith because herein lies great potential and great occurance. |
|
Posted
|
|
|
ocStaff (admin) |
It is true we could edge towards a new release by making stuff as addons first, or implementing features in a risk-managed way and cleaning them up later. If people want to chip in to something and pay for something new that they want as a group that's great, we're happy to be at service, but I want to be clear that if it was structured in donation terms it'd make me uncomfortable. i.e. this has to be against something new, not donating for what is already done. To be honest, I doubt enough people could be found to fund things. Looking at the crowd funding sites, and my own experience, what R&D individuals can pay for differs vastly from what things cost to develop. The only things really successful with crowd funding seem to be things with real mass appeal and press coverage. So my intention with this topic wasn't really to try and persuade lots of individuals to pay, it was more to show our direction, show our technical capability, get some stuff we were sitting on there out there, and to give people a clear incentive to persuade their employers or their Dad's company, or whatever else they are close to, that ocPortal is the solution they need for them If I answered something that you think should be in the documentation, please take the initiative and add it to the community documentation. We really need people to help out here and build a well-organised large support resource. |
|
Posted
|
|
|
ocStaff (admin) |
I've updated all the tracker topics related to it with the particular code, notes, and the automated tools we wrote to do some of the migration before. It is all still a very disruptive version change, so it won't be happening any time soon unless it becomes a full time focus (unlikely), but the work won't need completely redoing. Most of what happened was technical design work, or making those aforementioned tools. The different v8 currently being developed is far more interesting to users, with various large usability improvements and new features large and small. Anyone wanting to get intimately involved with the development process can of course do a git pull and see how things are. I know things currently install and work, as we have been building client sites off of this code base. Most of the work done has been client sponsored features, although:
Generally things are extremely hectic right now. Summer was too quiet for ocProducts (not a good time to say the least), and now we've got an absolute tonne of work on and some great clients who we have some good synergies with. So the current state of affairs (i.e. rapid development, but no formal release cycle) will continue until things have slowed back down again. 2012 should feature a change of direction for ocProducts that I hope will accelerate things on two fronts. This post is really to share information on what is going on and so people know the project isn't 'stagnating' (to use someone else's phrasing, hehe). If I were to show some of the stuff already done or waiting to be merged in, some people would be very happy. When we have time to release it all it will be well worth it. If I answered something that you think should be in the documentation, please take the initiative and add it to the community documentation. We really need people to help out here and build a well-organised large support resource. |
|
Posted
|
|
|
Community saint |
|
|
Posted
|
|
|
Community saint |
Since I never believed that ocPortal was "stagnating." I can only say that I am more confident than ever in the choice I made for a CMS. And I truly admire your resolve to make ocPortal an ever-better product. Bob |
|
Posted
|
|
|
Community saint |
Tax refund time is around the corner… I will have to take a look and see what lovely features need some "endorsing".
Legends of Nor'Ova: A site powered by ocPortal; a role playing community where you can purchase the LofN core rule book and participate in the forum-based RPG.
|
|
Posted
|
|
|
ocStaff (admin) |
If I answered something that you think should be in the documentation, please take the initiative and add it to the community documentation. We really need people to help out here and build a well-organised large support resource. |
|
Posted
|
|
|
Community saint |
I have committed thus far to using catalogs and will probably stay with them but I will certainly give this a look. Still wish you would consider providing the gallery as a view/presentation layer for catalogs. Seems to me there is a lot of duplication of effort maintaining the core data entry/storage systems. And anyone that thinks ocPortal is stagnating really needs to take a look at the commit log. Although v8 is remained from the original spec, this looks very promising - more promising to the end user then the original spec. Bob |
|
Posted
|
|
|
Community saint |
mythus- I've voted for/endorsed 5 items that I would like to see over the next year. Two of them are pretty costly so I hope to be able to find others interested in splitting the cost of those (especially allowing multiple categories). I think ocPortal is just getting started. Chris has acted responsibly in protecting the project and I think the rewards may be just around the corner. I know I no longer mention Joomla or Drupal to anyone. Bob |
|
Posted
|
|
|
ocStaff (admin) |
Technically, that isn't possible. From schema, performance, and usability points of views, the challenges there would all be huge. Schema – we'd basically be turning ocPortal's database structure into a ball of mud, everything would be built on a level of abstraction and incomprehensible to anyone working directly in the database. We'd be breaking all the rules of good database design there, and really boxing us in a corner as a result. Performance – putting everything through catalogues would probably half performance, due to the amount of meta-processing involved. Usability – we'd have to create a whole new system of data binding, to bind custom fields to code-base behaviours. And we'd have to enforce schema constraints and validation, to detect whether something matches the minimal data requirements of a gallery before allowing the gallery code to run on top of it. And finally, I don't see a reason – as the use case is achieved perfectly now in v8 via custom fields. Galleries are now extendable in the same way a catalogue is, using the same system. So you've got the extendability, and the core functionality, i.e. the best of both worlds. If I answered something that you think should be in the documentation, please take the initiative and add it to the community documentation. We really need people to help out here and build a well-organised large support resource. |
|
Posted
|
|
|
Community saint |
What I am able to do with my tax refund depends highly upon the amount I get back. I am expecting a significant amount though, and believe that once I have taken care of what must be taken care of, I should have some that I could donate via supporting a function, however small or large that amount may be though… that remains to be seen. First, I'll be giving a part to Brian Hey and hosting with him, and I'll need to cover some bills that arose from my wife's month long hospital stay, and replace her hearing aides that the dog ate… However ocPortal has been a godsend to me since v4, so I plan to, want to, and need to give back somehow.
Legends of Nor'Ova: A site powered by ocPortal; a role playing community where you can purchase the LofN core rule book and participate in the forum-based RPG.
|
|
Posted
|
|
|
Community saint |
Okay, I give. You've presented solid technical issues although. like mythus, it seems to me that catalogs could become the back-end for everything. But that may not be the best approach and I defer to your judgment. I've yet to download the distrib from github to actually play with the new features. This may well resolve my issues, though, to be honest, I have all my galleries in catalogs. Not sure I'd want to change that. Does the quote in the tracker to allow things to live in secondary categories apply also to galleries? Bob
Last edit: by BobS
|
|
Posted
|
|
|
ocStaff (admin) |
Yes. But please check before stocking up on credits so it can be confirmed – often these are thrown out as quick estimates (i.e. could be higher or lower), or maybe are based on the state of the code at an earlier point (i.e. may be partially solved already). If I answered something that you think should be in the documentation, please take the initiative and add it to the community documentation. We really need people to help out here and build a well-organised large support resource. |
1 guests and 0 members have just viewed this: None
Control functions:






Last edit: by 
