Jump to content

Simple Code > Large Scale


delueg
 Share

Recommended Posts

Hey,

 

i have three questions :)

 

My new and current job is Head of Development ( but still - first project in this scale for me ) of an nonprofit organisation based in Munich Germany. The current Community-Website is based on custom PHP-Code 15years old spaghetti.

 

I am planing right now to just through it into the trash and start over.

 

What i want is a simple Framework which helps with the following:

 

- To handle User-Roles and Permissions based on many different things

- Provide a simple API where somehow in the future the developers don't have to be fullstack professsionals.

- Provide a CMS for content pages

 

So: I am really curios and also looking forward to work with process-wire. I will .. that's for sure (even when it's not for this project). I am impressed because processwire is what i am looking for many reasons.

 

But: I want to be sure to take the right direction for this company now.

 

- We have approx. 5k active users. 

- Maybe 3k at the same time.

- But approx 600k registered users.

- The users have the possibility to take actions, make configurations and access content based of plan's they buy monthly.

- community internal currency

- etc etc etc.. 

 

So my first question is:

Do you see any gaps achieving this with processwire? I am just concerned about the enormes amount of user-data which i have to migrate to processwire maybe not everything but at least a big part of it. I am speaking of 200GB of mySQL Data. (right now splitted on 2x2 mySQL Cluster and maybe 15 DB's with maybe 30 tables each and approx. 20 columns each [a totally mess] - i still triyng to figure out the best way to give it a new structure )

 

The second question would be:

Should i start with version 3.x now ? i think i need at least another 6 month to go on production with the first few parts of the application. Also do processwire provide upgrade-guarantie on the Pro-Modules like ProFields and or support for maybe community-modules which will not be upgraded to a newer version of the core fast enough?

 

The third:

I am thinking to handle processwire and vuejs together. (not laravel and angular - just because i have a bad feeling for the future with them) in generel would you suggest to use processwire as a selfmade API for singlepage applications and also we have to provide an API for developers to gather informations , Hybrid App etc. Somehow i have also to integrate the "new" clean projekt into the old environment means routing old<=>new  for sections already finished and not of course.

 

 

I appreciate any suggestions and advices very very much.

Link to comment
Share on other sites

Hi delueg,

I took a look at your questions and realized your statistics isn't really problematic but still, migrating 200GB of data is a hard work. You should double check your user visits using 3rd-party tools like google analytics or something like that. One of the websites I know using PW is cmscritic.com and they have around 30k visits monthly (checked using alexa rank). However, the only way to truely know if 1 framework is suitable for your requirements is to do stress testing. Have your homepage built with some data and send requests. Just remember, you can make some pages (like mine) finish loading after 30s with loading images on-demand to make sure user sees the whole page first.

For me, the reason I chose PW is because I liked its API and the simplicity of how the templating work. Personally, I would stay with the stable version of any frameworks unless your site could change easily. However, the documentation doesn't cover everything so you need to do some code reading to be able to use all the provided API.

I read about vuejs a year ago and I quite fond of it. But if you like new things, I would suggest Redux with React (backed-and-used by Facebook). Also, I think AngularJS 2.0 (backed-and-used by Google) is ready for production and you shouldn't really worry about it.

  • Like 2
Link to comment
Share on other sites

Hi @delueg,

I'm short in time ATM, but can answer a little part.

The first

only in addition of what @kiennguyen1101 already said. The primary part is to figure out and define the best data structure in PW for that project, so that the app can run fast and you can map / import the old data.

There were case studies here in the forums and published sites in the site directory (or in the forums too) that were sites / apps on very large scales. Maybe to read a bit of that may give you valuable impressions. (National Geographic Case Study, CMSCritic Development Case Study, Villas-Rental, ... maybe other users can add some more links, - I remember threads and posts talking about 1 million pages in one PW installation and others, but have no bookmarks at hand)

The second

You are coming to Processwire at a point where the first PW 3 stable version will released not that far away. Also, that upgrade is the first one in the last 5 years or longer, that bring in a major change from no namespace to use namespace(s) in PHP. That normally would break existing code of templates and third party modules, but Ryan has built a rocksolid FileCompiler to handle both, (upgrading from 2.x to 3.x and the use of third party modules (developed for PW 2.x) in PW  3.x), automatically behind the scenes, without any manually interaction. But I personally have changed to start with PW 3 on every new site now. Upgrade guarantee for all ProModules is in. For third party modules, PW cannot guarantee, (but see: FileCompiler!). Also, for all third party modules that are used by many people, there ever was found a new maintainer here in the community, if the original owner / creator could not do it anymore.

"Upgrade to a core change not fast enough" is a very vague formulation. :) I think, if you have a project like yours once online and running, you never will change from a (then stable PW3) version to a first PW4-alpha version. So, as the development cycle of such an major upgrade will take six (?) month or more, there is enough time for modules developer to upgrade too. (But once more: it isn't really necessary, seeFileCompiler) Also, core upgrades in PW are not necessary if you do not need newly introduced features. This is different here than with W*rdPr*ss or others. I have running sites on PW 2.3, 2.4, 2.5, 2.6, 2.7, 3.0 and don't need or want to change them. I only have updated sites core when I want to use a new feature there.

  • Like 4
Link to comment
Share on other sites

Ah, here is a very valuable post from within the case studio of the National Geographic Site: https://processwire.com/talk/topic/7494-case-study-the-triumph-of-national-geographic-traveller-india-in-processwire/page-2#entry72498
 

[...]

The search was for light, fast systems [coming from Joomla, WP, Drupal that was necessary] as we had enough problems building large sites with those CMS. And what I read and saw about PW here was promising. We started with one programmer who was briefed to experiment with it and within a week he was going ga ga over PW. We then took it forward to the entire team. Now, we have 10 of them working on Processwire, on various projects.

[...]
 

It has given the team here new energy and fresh possibilities and that's remarkable in itself.

And, also it is that mainly new users ask here the community, I want ask one question too: What are the alternatives to PW? :lol:

  • Like 2
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...