Jump to content

Possible to create a CRM in PW ?


JeevanisM
 Share

Recommended Posts

Yes it is possible but it depends on your needs. I also built several software with ProcessWire as a base.

But you have to tweak the backend to your likings (which requires much hooks), or create an own backend instead of the default one.

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 years later...

Yes 100%. I built and run a client-specific CRM/membership system for an arts organisation using Processwire. It started out relatively simple and has grown, but allowed us to build exactly what was needed and cut-out the over-complication of the many off the shelf systems they had already tried.

Without PW's baked-in features development of this system would have taken an immeasurable amount of time longer.

  • Like 5
Link to comment
Share on other sites

  • 9 months later...

I'm in a similar situation where the client asked me to integrate their sales into the existing client facing site since half of the data is already there.
Silly question but would it be bad practice to store data as pages? I mean ProcessWire can do all the content types, fields and page references already, would it still be better to store data in the database directly?

Link to comment
Share on other sites

In general I'd say no, that's not a bad practice. Pages are built for storing data and they are built to scale. And they are built to work with all the nice things we have in PW world that are a pain to build with plain SQL database structures (like children/siblings/parent references and page reference fields in general).

  • Like 4
Link to comment
Share on other sites

  • 7 months later...
1 hour ago, chapmansean said:

While ProcessWire is a powerful content management system, it may not be the best option for creating full-fledged CRM software.

And why should this be?
As you can see from Berhard's example, it is possible.

  • Like 1
Link to comment
Share on other sites

9 hours ago, zoeck said:

As you can see from Berhard's example, it is possible.

It might be possible, but I agree that it may not be the best option for this kind of stuff (depending on how extensive it is to become).

I developed several big applications with ProcessWire (a room furniture management system, an applicant management system) with it's own workflow, but had to fight around many things in ProcessWire to modify the navigation, create a custom approval process with different rights and levels. 

First big issue was to remove all navigation entries and restrict them according to user roles.

Another big issue of ProcessWire for me is (when it used as a software framework) that everything is a page and these pages in the database are not separated in different tables by the type (for example a client, an invoice, a project, a room). That makes it hard to create or restore a database backup just to get the entries of a specific type. This is also a problem with a shop based on padloper 1 that I use.

For new projects that are some kind of management system I personally would not use ProcessWire anymore. Instead I use Laravel or some other frameworks like FilamentPHP (which is based on Laravel).

Also there are many good Open Source or free CRM's out there.

Link to comment
Share on other sites

I'm not saying anyone is right or wrong, but I want to add:

7 hours ago, dotnetic said:

but had to fight around many things in ProcessWire

You can always build everything (the backend/GUI) on your own just like you have to when using any other php framework if you think that would be faster 😉 

7 hours ago, dotnetic said:

Another big issue of ProcessWire for me is (when it used as a software framework) that everything is a page

Nobody holds you from using PW in a traditional way. You can create DB tables and use SQL to query the data.

7 hours ago, dotnetic said:

That makes it hard to create or restore a database backup just to get the entries of a specific type.

Sure. Every pro comes with cons. PW's database system is built to support all the great flexibility and the ease of use via the API that we all love (I guess). If creating and restoring things from a single DB table is a priority for you, why don't you store all the data in a single table that can easily be restored? If the answer is that you would lose all the great features of PW (like page reference fields etc) and you know all the things that you'd need to build on your own in other frameworks.

But I have the best knowledge about PW obviously so I might be wrong when it comes to judging other frameworks 🙂 

Link to comment
Share on other sites

15 minutes ago, bernhard said:

You can always build everything (the backend/GUI) on your own just like you have to when using any other php framework if you think that would be faster

Yes I think thats faster, because for example FilamentPHP has the option to build the admin panel from scratch and add only the navigation entries you need (permission controlled). It also has migrations out of the box (because of Laravel), and I also said the same thing as you above:

On 1/10/2019 at 8:49 PM, dotnetic said:

But you have to tweak the backend to your likings (which requires much hooks), or create an own backend instead of the default one.

 

34 minutes ago, bernhard said:

If creating and restoring things from a single DB table

Yes, that is a priority for me (in some cases) and why should I use PW for this, if others bring better functionality out of the box?

32 minutes ago, bernhard said:

But I have the best knowledge about PW obviously so I might be wrong when it comes to judging other frameworks

Did you try out other Frameworks or CMS like Laravel or Statamic? Some have a similar API like ProcessWire, it seems like Laravel and PW inspired each other. For example in the Statamic CMS (which is file based) you can use very simple queries to loop over a collection of objects (even in templates and even with separated entry types) like so:

  {{ collection:articles limit="5" }}
  {{ partial src="blog/blogteaser" }}
  {{ /collection:articles }}

So, that nobody misunderstands me. I ❤️ProcessWire, but for some things there might be better alternatives out there.

Link to comment
Share on other sites

3 minutes ago, dotnetic said:

why should I use PW for this, if others bring better functionality out of the box?

If you are faster with another system then of course it's likely better to go with that 🙂 I'm just trying to be fair to PW so I tried to challenge your statements as I think they are at least partly not correct or at least incomplete 😉 "others bring better functionality" is just an opinion and you don't bring any arguments for that.

5 minutes ago, dotnetic said:

and I also said the same thing as you above:

On 1/10/2019 at 8:49 PM, dotnetic said:

But you have to tweak the backend to your likings (which requires much hooks), or create an own backend instead of the default one.

Didn't see that part, sorry.

10 minutes ago, dotnetic said:

Did you try out other Frameworks or CMS like Laravel or Statamic?

Sure. And almost everytime I ended up thinking that I'd be much faster with PW. But obviously that's the tool I know the best.

11 minutes ago, dotnetic said:

but for some things there might be better alternatives out there.

Sure, agree on that. I'm just not on line with the arguments you brought up against PW 😉 Not saying PW is ideal for that (though it can be in some situations). Just tried to be fair 😉 

I mean... you are right that sometimes it's not the easiest thing to adjust the backend menu to your needs, but what I wanted to say is that you should not forget that it might not be easier/faster to build everything on your own that you get in PW by default...

I think what is really missing for building a CRM with PW is a good data listing tool. I've built RockGrid for that but it's far from perfect 🙂 The other big missing thing would be migrations, but there's RockMigrations and that is in my opinion a lot better than what you get with Laravel!

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