HTML Logo by World Wide Web Consortium (www.w3.org). Click to learn more about our commitment to accessibility and standards.

Moving forward with Composr

ocPortal has been relaunched as Composr CMS, which is now in beta. ocPortal 9 will be superseded by Composr 10.

Head over to compo.sr for our new site, and to our migration roadmap. Existing ocPortal member accounts have been mirrored.


The next generation of ocPortal

Login / Search

 [ Join | More ]
 Add topic 
Posted
Rating:
#72718 (In Topic #15255)
Avatar

About 2 months back we started development of the next ocPortal (the biggest reworking since v2), on the back of a couple of enterprise projects likely to start. Unfortunately development is currently paused because those projects don't look like they will actually happen (companies are being very cautious at the moment, it sucks, but is happening a lot). The hope is to start up development again once we find some way to fund it.

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:
  • Strict MVC
  • Pure object orientation
    • Exception management
    • No global variables
    • No global functions, everything is in a class
  • Dependency injection
When that's done, the new features we want can be built on top of it.
Also some legacy stuff has been reworked, such as:
  • A lot from HEADER/FOOTER has been moved into GLOBAL, and flexibility to move stuff between templates improved
  • The concept of 'Modules' has been removed, with installation/uninstallation responsibility now existing wholly with addons. Instead we now have 'Controllers', which is easier for people to understand in terms of 'MVC'.
  • We no longer have two different kinds of addon.
  • Generally a lot of code that had evolved (e.g. having multiple systems of meta-data) have been reworked.
  • Lots more that I cannot remember off-the-top-of-my-head, but may be identifiable on the tracker marked as completed

Strategically, the plan is to have a kind of 3-way approach:
  • bringing user-friendly out-of-box consumer CMS functionality to the enterprise (enterprise systems at this point are clunky, complex and expensive to deploy)
  • bringing enterprise functionality that is truly useful to consumer CMS (such as being able to undo anything, or have a separate staging site)
  • creating some great new user-friendly features for everybody, such as being able to drag just about any kind of file on to the CMS to upload t (e.g. drag a word file on to a news category and it being smart enough to convert it, read the meta data, and put it up as news). This is an ambitious one, but it's the usability holy-grail I want us to get to.

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…

Attachment
These are the ocPortal release scripts, used to generate the quick installer and guide releases.
» Download: build_scripts.zip (19 Kb)


Attachment
This is a lot of very messy patches done for client projects, that one day should become addons or standard features. It will take considerable work to refine and integrate the changes in these files.
» Download: patch_collection.zip (1.23 Mb)


Last edit: by Chris Graham


Become a fan of ocPortal on Facebook or add me as a friend. Add me on on Twitter.
Was I helpful?
  • If not, please let us know how we can do better (please try and propose any bigger ideas in such a way that they are fundable and scalable).
  • If so, please let others know about ocPortal whenever you see the opportunity.
  • If my reply is too Vulcan or expressed too much in business-strategy terms, and not particularly personal, I apologise. As a company & project maintainer, time is very limited to me, so usually when I write a reply I try and make it generic advice to all readers. I'm also naturally a joined-up thinker, so I always express my thoughts in combined business and technical terms. I recognise not everyone likes that, don't let my Vulcan-thinking stop you enjoying ocPortal on fun personal projects.
  • If my response can inspire a community tutorial, that's a great way of giving back to the project as a user.
Back to the top
 
Posted
Rating:
#72736
Avatar

Community saint

Chris-

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
Back to the top
 
Posted
Rating:
#72744
Avatar

Thanks Bob :)! We don't take donations directly, but anyone can top up on support credits and choose whether to spend them immediately or not – or sponsor features they need.

I just spent the day creating a new tracker addon for a support customer, and making big improvements to the gifts addon.


Become a fan of ocPortal on Facebook or add me as a friend. Add me on on Twitter.
Was I helpful?
  • If not, please let us know how we can do better (please try and propose any bigger ideas in such a way that they are fundable and scalable).
  • If so, please let others know about ocPortal whenever you see the opportunity.
  • If my reply is too Vulcan or expressed too much in business-strategy terms, and not particularly personal, I apologise. As a company & project maintainer, time is very limited to me, so usually when I write a reply I try and make it generic advice to all readers. I'm also naturally a joined-up thinker, so I always express my thoughts in combined business and technical terms. I recognise not everyone likes that, don't let my Vulcan-thinking stop you enjoying ocPortal on fun personal projects.
  • If my response can inspire a community tutorial, that's a great way of giving back to the project as a user.
Back to the top
 
Posted
Rating:
#72754
Avatar

Community saint

Perhaps you guys could make bounties on features and or addons or something like that and have people contribute towards the bounty and once the bounty is reached you pump out the feature or addon whatever. I know it may not be easy to raise the $80 000 it would take to properly pay for the new system but say if you had some popular addons or components that were fractioned or could be implemented either in the old system or in partialling out features of the new one it could work towards getting you part way there reducing the need for full coverage from a corporate entity to do the full thing. It may be possible to get a bunch of donations toward a $5000 bounty for highly prized feature or addon or something? I don't know just tossing out ideas to stimulate thought?


Last edit: by Duck
Back to the top
 
Posted
Rating:
#72758
Avatar

Community saint

Duck-

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
Back to the top
 
Posted
Rating:
#72759
Avatar

Community saint

BobS said

Duck-
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.


Bob
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.
Back to the top
 
Posted
Rating:
#72760
Avatar

Community saint

Duck-

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
Back to the top
 
Posted
Rating:
#72769
Avatar

Community saint

I like it. I live on a tight budget these days but I'd be happy to add to the pot what I can when I can.
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.
Back to the top
 
Posted
Rating:
#72771
Avatar

I decided to have a look at crowd funding websites as an alternative, and my conclusion it would be better if the ocPortal tracker was just used instead as it provides most of the same functionality. People can reply on issues saying they can offer a certain bounty and if it goes high enough the sums could be confirmed and development started. We get email notifications whenever anyone replies, so it's reasonable efficient.

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 ;). Chipping in is cool though, and if people think they can build up enough interest for it to happen, we're certainly receptive.


Become a fan of ocPortal on Facebook or add me as a friend. Add me on on Twitter.
Was I helpful?
  • If not, please let us know how we can do better (please try and propose any bigger ideas in such a way that they are fundable and scalable).
  • If so, please let others know about ocPortal whenever you see the opportunity.
  • If my reply is too Vulcan or expressed too much in business-strategy terms, and not particularly personal, I apologise. As a company & project maintainer, time is very limited to me, so usually when I write a reply I try and make it generic advice to all readers. I'm also naturally a joined-up thinker, so I always express my thoughts in combined business and technical terms. I recognise not everyone likes that, don't let my Vulcan-thinking stop you enjoying ocPortal on fun personal projects.
  • If my response can inspire a community tutorial, that's a great way of giving back to the project as a user.
Back to the top
 
Posted
Rating:
#77628
Avatar

Right, so this particular version of ocPortal has died a death, but at some point I hope we will get most of what it had back in. My posts on this topic read as rather gloomy – this was all a very difficult time for us, but hey, we're still here, and things are going fairly smoothly again (all things considered given how the economy is!). We have a mission to change the web design industry, a global depression in our core markets isn't going to stop us so easily ;).

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:
  • A number of kind users have explicitly sponsored some features (don't let me forget to give due credit when v8 finally comes)
  • I am also trying to merge in some old patches I've wanted to include for quite some time. One particular one is enormous and client-sponsored, but unfortunately it's delayed (hopefully not indefinitely) due to the Thailand flooding.
  • It's possible some of the ad-hoc addons we've half-built over the last couple of years for clients might become bundled or at least official addons
  • You never know, Facebook integration might get polished off and made more official sometime, but only if there is time ("half a day" lol)

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.


Become a fan of ocPortal on Facebook or add me as a friend. Add me on on Twitter.
Was I helpful?
  • If not, please let us know how we can do better (please try and propose any bigger ideas in such a way that they are fundable and scalable).
  • If so, please let others know about ocPortal whenever you see the opportunity.
  • If my reply is too Vulcan or expressed too much in business-strategy terms, and not particularly personal, I apologise. As a company & project maintainer, time is very limited to me, so usually when I write a reply I try and make it generic advice to all readers. I'm also naturally a joined-up thinker, so I always express my thoughts in combined business and technical terms. I recognise not everyone likes that, don't let my Vulcan-thinking stop you enjoying ocPortal on fun personal projects.
  • If my response can inspire a community tutorial, that's a great way of giving back to the project as a user.
Back to the top
 
Posted
Rating:
#77631
Avatar

Community saint

Sounds Exciting!
Back to the top
 
Posted
Rating:
#77633
Avatar

Community saint

This is so encouraging - not just that changes are coming but that the developers made it through a very difficult time. I hope the sailing is smoother in 2012.

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
Back to the top
 
Posted
Rating:
#77637
Avatar

Community saint

Hmmm…

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; home of the Legends of Nor'Ova tabletop RPG wiki and community.

Like ocPortal? Want to thank Chris and gang somehow? Then help out in the chat room! It really needs your help! Just open it in a tab everytime you open your web browser, and when you hear a "ding", check it out!

"Those who want help should first be willing to give help."
Back to the top
 
Posted
Rating:
#77649
Avatar

Think this commit I made will be popular…

Image/video titles, recorded gallery owners, recorded gallery view counts, individual templates to display image/video thumbs (awards, search results), ability to make links to gallery images/videos force displaying via flow-mode (not individually), ability to force a gallery to open in flow mode even when it's not configured to via a URL parameter


Become a fan of ocPortal on Facebook or add me as a friend. Add me on on Twitter.
Was I helpful?
  • If not, please let us know how we can do better (please try and propose any bigger ideas in such a way that they are fundable and scalable).
  • If so, please let others know about ocPortal whenever you see the opportunity.
  • If my reply is too Vulcan or expressed too much in business-strategy terms, and not particularly personal, I apologise. As a company & project maintainer, time is very limited to me, so usually when I write a reply I try and make it generic advice to all readers. I'm also naturally a joined-up thinker, so I always express my thoughts in combined business and technical terms. I recognise not everyone likes that, don't let my Vulcan-thinking stop you enjoying ocPortal on fun personal projects.
  • If my response can inspire a community tutorial, that's a great way of giving back to the project as a user.
Back to the top
 
Posted
Rating:
#77657
Avatar

Community saint

Chris Graham said

Think this commit I made will be popular…

Image/video titles, recorded gallery owners, recorded gallery view counts, individual templates to display image/video thumbs (awards, search results), ability to make links to gallery images/videos force displaying via flow-mode (not individually), ability to force a gallery to open in flow mode even when it's not configured to via a URL parameter

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
Back to the top
 
Posted
Rating:
#77658
Avatar

Community saint

mythus said

Hmmm…

Tax refund time is around the corner… I will have to take a look and see what lovely features need some "endorsing".
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


Back to the top
 
Posted
Rating:
#77661
Avatar

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.

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.


Become a fan of ocPortal on Facebook or add me as a friend. Add me on on Twitter.
Was I helpful?
  • If not, please let us know how we can do better (please try and propose any bigger ideas in such a way that they are fundable and scalable).
  • If so, please let others know about ocPortal whenever you see the opportunity.
  • If my reply is too Vulcan or expressed too much in business-strategy terms, and not particularly personal, I apologise. As a company & project maintainer, time is very limited to me, so usually when I write a reply I try and make it generic advice to all readers. I'm also naturally a joined-up thinker, so I always express my thoughts in combined business and technical terms. I recognise not everyone likes that, don't let my Vulcan-thinking stop you enjoying ocPortal on fun personal projects.
  • If my response can inspire a community tutorial, that's a great way of giving back to the project as a user.
Back to the top
 
Posted
Rating:
#77665
Avatar

Community saint

Huh, that's interesting… I always viewed the gallery as a subset, or type, of catalogue system, just with predefined settings like the ecommerce catalogue. After all, you can put pictures and the like into catalogue fields. Guess I was wrong lol!

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; home of the Legends of Nor'Ova tabletop RPG wiki and community.

Like ocPortal? Want to thank Chris and gang somehow? Then help out in the chat room! It really needs your help! Just open it in a tab everytime you open your web browser, and when you hear a "ding", check it out!

"Those who want help should first be willing to give help."
Back to the top
 
Posted
Rating:
#77678
Avatar

Community saint

Chris Graham said

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.

Technically, that isn't possible. From schema, performance, and usability points of views, the challenges there would all be huge.

<snip>

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.

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
Back to the top
 
Posted
Rating:
#77685
Avatar

Does the quote in the tracker to allow things to live in secondary categories apply also to galleries?

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).


Become a fan of ocPortal on Facebook or add me as a friend. Add me on on Twitter.
Was I helpful?
  • If not, please let us know how we can do better (please try and propose any bigger ideas in such a way that they are fundable and scalable).
  • If so, please let others know about ocPortal whenever you see the opportunity.
  • If my reply is too Vulcan or expressed too much in business-strategy terms, and not particularly personal, I apologise. As a company & project maintainer, time is very limited to me, so usually when I write a reply I try and make it generic advice to all readers. I'm also naturally a joined-up thinker, so I always express my thoughts in combined business and technical terms. I recognise not everyone likes that, don't let my Vulcan-thinking stop you enjoying ocPortal on fun personal projects.
  • If my response can inspire a community tutorial, that's a great way of giving back to the project as a user.
Back to the top
 
1 guests and 0 members have just viewed this: None
Control functions:

Quick reply   Contract

Your name:
Your message: