Popular Post bernhard Posted September 15, 2017 Popular Post Share Posted September 15, 2017 https://www.baumrock.com/portfolio/individuelles-crm-und-controlling-tool/ I'm happy to share my biggest and most interesting ProcessWire project so far with you It's a 100% custom office-management solution that helps my client to keep track of all their contacts, projects and finance/controlling stuff. Conception was done back in 2016 and the software is productive since begin of this year. My client is very happy with the result and so am I. Some technical insights: Everything is done inside the PW Admin. I'm using the Reno Theme with some custom colors. In the beginning I was not sure if I should stay with the pw admin or build my own admin-framework but now I'm VERY happy that I went with PW Almost all of my custom Process Pages use my RockDatatables module - there are still some limitations but without it, this project would not have been possible For the charts I used Google Charts and chartjs - both play well together with the datatables and make it possible to display filtered data instantly: also my handsontable module was created for this project to have a nice and quick option for matrix data inputs: Lister and ListerPro were no options as i needed much more flexibility regarding data presentation (like colorization, filtering and building sums of selected rows): invoices are highly customisable as well and easy to create. PDFs are created by php and mPDF by the way: all data is dummy data populated via my Module RockDummyData have a nice weekend everybody 47 3 Link to comment Share on other sites More sharing options...
Zeka Posted September 15, 2017 Share Posted September 15, 2017 Just WOW @bernhard 1 1 Link to comment Share on other sites More sharing options...
Nicolas Posted September 15, 2017 Share Posted September 15, 2017 Surely an impressive work ! 1 Link to comment Share on other sites More sharing options...
Mats Posted September 15, 2017 Share Posted September 15, 2017 Beautiful! Great work @bernhard 1 Link to comment Share on other sites More sharing options...
cstevensjr Posted September 15, 2017 Share Posted September 15, 2017 Remarkable functionality! You should be very proud of your accomplishment. 1 Link to comment Share on other sites More sharing options...
Sergio Posted September 15, 2017 Share Posted September 15, 2017 Just WOW!!! My jaw is on the floor! Great work indeed!! Congratulations @bernhard ! Stupendous accomplishment! 1 Link to comment Share on other sites More sharing options...
heldercervantes Posted September 15, 2017 Share Posted September 15, 2017 This must be the most impressive thing I've seen in PW. Hope it was expensive too 5 1 Link to comment Share on other sites More sharing options...
szabesz Posted September 15, 2017 Share Posted September 15, 2017 I knew you were up to something Great work and also thanks for sharing the modules. Keep it up! 1 Link to comment Share on other sites More sharing options...
Lenz Posted September 15, 2017 Share Posted September 15, 2017 wow congrats on this hell of an achievement, also demonstrating the power of processwire as an app development framework. 1 Link to comment Share on other sites More sharing options...
EntitySelf Posted September 15, 2017 Share Posted September 15, 2017 Indeed, amazing work! I just started exploring PW and am impressed with what is build on it. 1 Link to comment Share on other sites More sharing options...
Gideon So Posted September 16, 2017 Share Posted September 16, 2017 What can I say other than WOW!!! Very impressive and inspiring work. Gideon 1 Link to comment Share on other sites More sharing options...
qtguru Posted September 16, 2017 Share Posted September 16, 2017 This is a really BIG Project you should write an article around this especially a case study 4 Link to comment Share on other sites More sharing options...
elabx Posted September 17, 2017 Share Posted September 17, 2017 9 hours ago, Sephiroth said: This is a really BIG Project you should write an article around this especially a case study Is this a ProcessWire friday happiness guest blog post request I'm reading?! 'cause it would be awesome. 4 Link to comment Share on other sites More sharing options...
Orkun Posted September 20, 2017 Share Posted September 20, 2017 Wow @bernhard what an impressive work! The developer heart is blooming. 1 1 Link to comment Share on other sites More sharing options...
thetuningspoon Posted September 20, 2017 Share Posted September 20, 2017 @bernhard This looks amazing! I developed a CRM for a customer using ListerPro with some custom enhancements, but this is another level up! Must have been a LOT of work. Hope you were paid well 1 Link to comment Share on other sites More sharing options...
bernhard Posted September 20, 2017 Author Share Posted September 20, 2017 thank you all for your kind words! 43 minutes ago, thetuningspoon said: ListerPro with some custom enhancements would be nice to see some screenshots or to hear what you did Link to comment Share on other sites More sharing options...
BrendonKoz Posted September 21, 2017 Share Posted September 21, 2017 Here's a fairly easy question: With regard to the invoice GIF you shared, I hadn't ever seen auto-suggest/auto-fill links used before ... Is that a component built into core, an existing module, or something you customized? Everything else shown is enormously impressive. I'd like to think that PW is still running blazingly fast, but I'll ask anyway: is PW still running efficiently for the client (and during your mockdata testing)? 1 Link to comment Share on other sites More sharing options...
bernhard Posted September 21, 2017 Author Share Posted September 21, 2017 9 minutes ago, BrendonKoz said: With regard to the invoice GIF you shared, I hadn't ever seen auto-suggest/auto-fill links used before ... Is that a component built into core, an existing module, or something you customized? it's one of many custom "hacks" all the items can be set by the client on a custom settings page. it's a regular repeater. then there is a hook that renders that items as field description and some javascript that adds the html to the ckeditor. 9 minutes ago, BrendonKoz said: Everything else shown is enormously impressive. I'd like to think that PW is still running blazingly fast, but I'll ask anyway: is PW still running efficiently for the client (and during your mockdata testing)? thanks. no problem at all. but there's not really a lot of data... the table showing all the revenues for different years is a custom DB-view because there's no built in possibility for such listings in pw. the pw alternative would be many many foreach loops and thats a no-go. 2 Link to comment Share on other sites More sharing options...
matjazp Posted September 21, 2017 Share Posted September 21, 2017 28 minutes ago, bernhard said: it's one of many custom "hacks" all the items can be set by the client on a custom settings page. it's a regular repeater. then there is a hook that renders that items as field description and some javascript that adds the html to the ckeditor. I would love to see that hack/hooks I admire this PW community, showing their work, coming up with great ideas and helping other. Link to comment Share on other sites More sharing options...
bernhard Posted September 21, 2017 Author Share Posted September 21, 2017 32 minutes ago, matjazp said: I would love to see that hack/hooks nothing fancy here. you see it's not polished and some hardcoded values... the javascript to handle the clicks: $(document).on('click', '.ckesnippet', function() { // find correct ckeditor instance $field = $(this).closest('li.Inputfield'); var id = $field.attr('id'); var ckename = id.replace('wrap_',''); var cke = CKEDITOR.instances[ckename]; var data = cke.getData(); cke.setData(data + $(this).data('snippet')); return false; }); and the hook to modify the field: $this->addHookBefore('InputfieldTextarea::render', $this, function($event) { $field = $event->object; if($field->name == 'rockinvoice_suffix') { $del = ''; foreach($this->wire->pages->get(38967)->texttemplates as $item) { $field->entityEncodeText = false; $field->description .= $del . '<a href="#" class="ckesnippet" data-snippet="' . str_replace(PHP_EOL, '', $item->body) . '">' . $item->title . '</a>'; $del = ' | '; } } elseif($field->name == 'rockinvoice_prefix') { $del = ''; foreach($this->wire->pages->get(38967)->texttemplates_greeting as $item) { $field->entityEncodeText = false; $field->description .= $del . '<a href="#" class="ckesnippet" data-snippet="' . str_replace(PHP_EOL, '', $item->body) . '">' . $item->title . '</a>'; $del = ' | '; } } $this->wire->modules->get('RockTools')->loadAsset('ckesnippets.js', 'HrDiamonds'); }); and a repeater to setup the snippets: 7 Link to comment Share on other sites More sharing options...
elabx Posted September 22, 2017 Share Posted September 22, 2017 It's really amazing how much work can be done adding Hooks where needed and you can turn Process modules and Inputfields into powerful interfaces just understanding a bit of the source code, I now don't want to write app interfaces/data models anymore, just think how I can leverage ProcessWire to do anything I want, in a third of the time. Hope everyone keeps sharing their awesome work! 1 Link to comment Share on other sites More sharing options...
MindFull Posted September 28, 2017 Share Posted September 28, 2017 Absolutely loving this! The tables look great - way to to put PW to work! 1 Link to comment Share on other sites More sharing options...
qtguru Posted October 9, 2017 Share Posted October 9, 2017 How do you achieve this in Processwire. the sidebar preview i mean ? Link to comment Share on other sites More sharing options...
bernhard Posted October 9, 2017 Author Share Posted October 9, 2017 just add the "pw-panel" class to your link. if you want it to reload on every open add "pw-panel-reload". see here for details: https://github.com/processwire/processwire/blob/master/wire/modules/Jquery/JqueryUI/panel.js 7 Link to comment Share on other sites More sharing options...
SamC Posted November 6, 2017 Share Posted November 6, 2017 This is incredible! Well done @bernhard wish I could do like 1/10th of that stuff. 1 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now