Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 09/23/2016 in all areas

  1. First off, a big thanks to Jonathan Lahijani and Benjamin Milde for taking over the last two weeks of blog posts while I was traveling. They did an awesome job. If you haven't yet read Jonathan's CMS Critic case study or Benjamin's Migrations module introduction, be sure to check them out. This week we started using our new GitHub organization repository to soft launch version 3.0. ProcessWire 3.0 now appears on packagist as well (installable via Composer). We’ve got several other updates for you as well! https://processwire.com/blog/posts/hello-pw3/
    12 points
  2. I converted another site from a foreign system into PW. The previous page wasn't responsive, so I converted / redesigned it using Bootstrap 3. http://die-leserei.de
    7 points
  3. Just wanted to share a new site that we launched earlier this week. http://www.enovity.com/
    6 points
  4. I had to do some tinkering around with WebODF and Wodo.texteditor to see if this was a possible approach for modifying report templates in the backend. Turned out there were too many features missing, but I've nonetheless uploaded a very basic (and experimental) module to github that let's you edit ODT (Open Document Text, format used by OpenOffice and LibreOffice). I'll be brushing it up a bit when/if time allows. If anybody wants to take a look or steal/improve on the idea: FieldtypeOdfFile Have fun!
    5 points
  5. Don't Make Me Think is a classic and applies to all kinds of UX/UI design. Nielsen Norman Group articles are also worth checking out; Jakob Nielsen in particular is one of the most prominent figures when it comes to usability research. Lots of stuff to add here, but I'll leave that to others
    4 points
  6. I'm not sure, but isn't this more what people might be looking for when creating a new project: composer create-project processwire/processwire Otherwise processwire will be pulled inside the vendor folder, where it's from questionable use besides for being bootstrapped into other applications.
    3 points
  7. Hi @MMG8 - welcome to the forums. I would agree that in general you are better off with a Linux server over Windows. As for the distribution, I have always gone with Debian, which in case you don't know is the basis of Ubuntu. I don't think it will really make that much difference to you, but Debian would be my recommendation. You may find some useful info in this article: http://inthebox.webmin.com/choosing-a-linux-distribution-for-web-server which compares Debian, Ubuntu, and CentOS.
    2 points
  8. Beautifully done - @ryan needs to see this
    2 points
  9. Just uploaded v068 which adds template edit link tooltips to the main pagelist items plus has some CSS improvements to a few CKE plugins (some seem to be written at least 10 yrs ago :)). And also see the ProcessPageList.js attached that was modified to enable opening collapsed pagelist items when hovering over them during drag-and-drop. It's still not perfect but it's still much better than the original imo - please feel free to modify the code (see line 1035, "change" property of "sortOptions"). The file's location is "/wire/modules/Process/ProcessPageList/". The main problem is that I check the next item after the placeholder (.PageListSortPlaceholder) so expand-collapse occurs only when moving the placholder above on item and not directly on it. I think this could be improved somehow. The reason I uploaded this here is because AOS v068 contains a few lines of CSS that modifies the appearance of dragging. Of course it works without AOS too. Here is what it looks now: ProcessPageList.js
    2 points
  10. 2 points
  11. Just to clarify: the pagelist dnd won't be in AOS but a PR. I don't think such mod could be applied from the outside.
    2 points
  12. This topic will serve as the thread for the Selectize.js family of modules, which utilize this popular jQuery plugin for enhanced tagging of images, fields, templates and page selection in Processwire admin. http://selectize.github.io/selectize.js/ The modules will ultimately include: JquerySelectize Base module that provides the library for use by other modules Github: https://github.com/outflux3/JquerySelectize Modules: http://modules.processwire.com/modules/jquery-selectize/ ----- SelectizeTemplateFieldTags Uses the library to init the tags field on fields and templates, and makes the icon searchable by name. Github: https://github.com/outflux3/SelectizeTemplateFieldTags Modules: http://modules.processwire.com/modules/selectize-template-field-tags/ Screens: Tagging a template: *******sorry but the forum upgrade destroyed these images -- you need to click on them to see them now ******** Search icons by name and see the icon: ----- SelectizeImageTags Uses the library for image tags field. Github: https://github.com/outflux3/SelectizeImageTags Modules: http://modules.processwire.com/modules/selectize-image-tags/ Screen:
    1 point
  13. I have a couple of customers on one.com (Danish company) and it's working out ok. I use mebo.se, a Swedish (pretty close to Denmark) web host, with very fast servers, great support at a low price.
    1 point
  14. To tell the truth, I've just copied it over from Ryan's blog post without thinking too much... Probably that is why the "Composer method" of installing is not yet "promoted". I'm not a Composer user, but it would be interesting to see what the recommended way of setting up a site and using Composer at the same time is. A tutorial for Composer newbies like me would be nice.
    1 point
  15. Thanks for the feedback guys, much appreciated!
    1 point
  16. Agreed. The effect is particularly strange in mobile: feels like perhaps it's one of those menu bars that disappear when you scroll down and reappear when you scroll back up, but nope; it's just a sticky menu with a weird bounce effect The font is a little bit too small for my eyes, but other than that the site is really clean and feels easy to browse. Great job!
    1 point
  17. A PageArray can only hold one instance of each page, so yeah it does, but it's not really explicit that way (and won't work as expected with my paginator)
    1 point
  18. Weird... it seems to be doing just that. Anyway, will make sure there's a differentiation just in case.
    1 point
  19. Interesting: I saw you used a <ul> <li> for a 3 picture slider in the header. Never thought about this for doing a picture slider. This makes it easy to use the pw api to make your own picture slider.
    1 point
  20. Datatables would indeed be my first option. There are others, and I'd ideally like to use one that has the required features and looks good in the admin UI without having to modify much (I would like to also try and retain the design I have above). I've done some quick, prelim benchmarking on 6000 jumplinks (generated by faker) in v2: Request → 404 (no hit): Server Processing = ~900ms; Receiving = 0.1ms Loading Jumplinks table: Server Processing = ~2900ms; Receiving = ~9900ms (memory limit increased to 512MB as it exceeded the default 128MB) This was done on my laptop dev machine - a 4th-gen Core i7 running PHP 7.0.9. So it seems all the pre-processing going on in JL2 really doesn't use much at all, and FastRoute makes things much faster by combining all the jumplinks into a single regex for matching and dispatching to the post-processing handler. 900ms (half of that, actually, due to the loading of PW) to scan through 6000 jumplinks is really awesome! All-in-all, it looks like the only issue is the front-end, which is expected for larger datasets. Given that you say there is no logical structure that could minimise your jumplinks down drastically enough to improve performance, I'm going to go ahead and migrate to Datatables (or something else that may be more suitable; I have seen a few, but can't remember what they are called).
    1 point
  21. Can't wait for V2 then :-)))
    1 point
  22. Here you go: http://www.ubuntu.com/server
    1 point
  23. I haven't used ServerPilot, but I have heard it's very helpful if you are new to server management. I know it works with Digital Ocean, but assume it can be setup on any Linux box. Perhaps you'd be better off with a fully managed server environment, rather than having to manage everything yourself. I am not the best person to answer this as I have always managed my own servers, but I am sure those with more experience in managed servers will chime in shortly.
    1 point
  24. Server referer should work fine in most cases for the previous URL.
    1 point
  25. That seems strange - it really shouldn't take so long at all... If it is indeed Jumplinks that is causing that delay, v2 of the module will more than likely solve it. Actually, I take that back - the handler would slow things down. That said, JL2 will speed things up. This was never benchmarked in v1, so I believe you on this one. Perhaps some pagination is in order then... Or perhaps I should switch over to an AJAX-driven table ith filtering...?
    1 point
  26. Create a module of the "Process" type here: http://modules.pw/ In the ___execute() function you can do your work and after that use this to redirect wherever you need: $this->session->redirect($url, false); I'm just not sure how exactly you could get the previous location's url.
    1 point
  27. You can just use two different find calls and just join them: $top = $pages->find(…); $bottom = $pages->find(…); $all = $top->import($bottom); And if you need pagination use this: https://github.com/LostKobrakai/Paginator
    1 point
  28. Thanks for the feedback. I'll take a look at that scenario.
    1 point
  29. Feels nice and cosy. I really like it.
    1 point
  30. Thanks for the showcase! Just one little quirk I noticed: I resized the window to see what the mobile version looks like, after that I opened the menu by clicking on the "hamburger", with the menu still open I resized the viewport to make it wide again. The site cannot handle this and the layout gets into a mixed up state with mobile and desktop viewports being tangled up somehow.
    1 point
  31. >> Is that a setting in the php.ini file? I did it through a UI in the Plesk control panel but I think that it writes to a php.ini file >>Incidentally from which version to which new version were you upgrading PHP to? 5.5.38 to 5.6.25
    1 point
  32. All working now. Seems to have been a few issues. In case this is helpful to anyone ... Manually download 3.0.33 and manually upload .htaccess, indepx.php and /wire/ Login to site and I noticed a few Modules updating I'd over looked that the Live site had been running 2.X so that was definitely a factor I upgraded PHP on the Live site to a higher version and noticed too that short tags needed to be enabled All those combined seem to have fixed it. Luckily I had full backups of everything before I started (phew!).
    1 point
  33. After activating the version panel I got the following error message: Call to undefined function apache_get_version() in ......./web/site/assets/cache/FileCompiler/site/modules/TracyDebugger/ProcesswireInfoPanel.inc on line 408 Edit: Its still there after disabling the version list, so its maybe a problem with the latest version.
    1 point
  34. It has always been good practice to note any 3rd party modules that you are using when posting an issue/bug report for the PW core, but after seeing @ryan's recent note about issues: https://github.com/processwire/processwire/issues/8 - "Indicate any 3rd party modules that are installed.", I thought it might be helpful to make it easy to get a formatted list of installed modules that you can simply copy/paste into your issue report. The latest version of Tracy includes an update to the ProcessWire Info panel that provides a new "Versions List" section that lists all modules and their version numbers in a textarea to make it easy to copy/paste. It also shows the PW, PHP, and MySQL versions. For those of you updating from an existing version of Tracy, you'll need to check this new panel section in the module config settings:
    1 point
  35. ok here is a sample function that i'm using to init selectize on a table field: $(function(){ $('li.Inputfield_table_field tr').each(function(){ var selOpts = new Array(); // add stuff to JS your array here... $(this).find('input[name*="_icon_select"]').selectize({ delimiter: ' ', persist: false, maxItems: 1, options: selOpts, }); }); }); so for example, you would need to be using AdminCustomFiles module and then this would be inside the ProcessPageEdit.js
    1 point
  36. right, sorry about that, i need to put in a >5.4 in the requirements because i'm using the fancy array notation which will 500 on earlier than 5.4 So in other words, this module doesn't particularly need to be on 5.4 (could change the code), but on the other hand <5.4 is considered EOL and insecure i think; You may run into other modules that also have a > 5.4 requirement If you feel that this module should support 5.3 let me know and i will update it
    1 point
  37. I'm guessing php version, i will probably need to either change the code to make it work for earlier PHP versions; all of my hosting is now > 5.4. What php version are you on?
    1 point
  38. Today I've experienced interface issue - input fields were hidden (address, etc). After some inspection, I found that reason was in css - map has changed its relative position. I guess Google has changed smth in script that draws map as there were no changes in css locally. Do you have the same issue? To fix the issue I had to add custom style clear tag to InputfieldMapMarker.module line 161 "style='height: {$height}px;clear:left;' " .
    1 point
  39. You can use examples from the forum or just modify to fit your needs. There is a mail example inside FrontendUserRegisterEmailValidation. PW hooks: https://processwire.com/api/hooks/ FrontendUser Wiki: https://bitbucket.org/pwFoo/frontenduser/wiki/Register extensions and plugins https://bitbucket.org/pwFoo/frontenduser/wiki/Login extensions and plugins https://bitbucket.org/pwFoo/frontenduser/wiki/Code snippets / Examples https://bitbucket.org/pwFoo/frontenduser/wiki/Documentation#markdown-header-styles-scripts-templates You can hook the FrontendUser methods auth (=login) and save (=register / save user). Just hook after FrontendUser save() and check the event return value if user was saved sucessful... Captain Hook -> search login -> /wire/core/session __login($name, $pass) I love the PW API and hooks
    1 point
  40. I had several clients request a version of this module that honors the aspect ratio of a video when using the responsive embed method. For now, the module is using a hard-coded 16/9 ratio. I decided to give it a go myself and forked Ryan's repo. I added functionality to calculate a video's aspect ratio from the oEmbed return values for width and height and made a change to the module's custom db schema to save the aspect ratio. In the (improbable) case the aspect ratio can't be determined, I added a fallback aspect ratio to the module's config. After looking around for a bit, this post about db schema updates for modules with custom databases provided excellent examples on how to handle the schema updates for existing installations. The changes have been tested on several live sites (3.0) and the update went without hiccups. If anyone's interested, here's the commit: https://github.com/[...]/commit/76e9a5e7bba79aef8fae35aaa7a1b7b79e970f90 I'd love to get some feedback on this! Especially from people running this on the 2.7 or 2.8 branch. If all works well, it'd be great to integrate this into @ryan's official repo at some point.
    1 point
  41. I'm not 100% clear on what you mean, but you could create a datetime field "sort_date" and use a save hook to copy the event date to it if one exists, otherwise copy the published date. Then sort by sort_date in your selector.
    1 point
  42. ok - any other info on that error - line # or anything - it is probably something about you need to set the theme... i will see about fixing it asap
    1 point
  43. There isn't one, other than passing the instance into the function as parameter. But really a class is way better in handling this kind of state. <?php namespace ProcessWire; class Helpers extends Wire{ public function getGlobalSeo() { return $this->wire('pages')->get('/')->seo; } } In the init.php $helpers = $this->wire(new Helpers); // Wire the instance into the helpers class $this->wire('helpers', $helpers); // Add as api variable In your templates $seo = $helpers->getGlobalSeo(); …
    1 point
  44. It's because all other options are aware of their instance (e.g. a page of instance1 will get the configs of instance1), whereas the global wire function does not have state and therefore does only ever return the "primary" instance, which is simply the first one ever instantiated. Edit: Maybe 'avoid' it to hard, but one needs to be aware that the function is not aware of additional instances. Especially in hooks or alike, where people are currently often using wire() one should rather use $event->wire() so the hook is not prone to using a different instance than intended.
    1 point
  45. Hello all, I'm putting first bricks of the social network that I've decided to make using ProcessWire. But before I start I wish to (again) make it clear that I'm not a programmer, I'm more of a designer. I wanted to create this social network for over a year but the developers kept messing it up or charging too much so I decided to make it myself. So, I've decided to go step by step with this. It'll be like mini facebook. Every user will have his profile page as a unique page. Eg. http://example.com/vineet.sawant He/she would have several things to do like posting a 140 chars long status, posting a long post, share images & links etc. For that I've thought of PW's page structure as follows: Home - - Users(hidden page) - - vineet.sawant - - - - bio-page - - - - status - - - - posts - - - - images But for the first step, all I want to do is sign up user & dynamically create a page for him/her same as his/her username. I've already tried FrontendUserProfilesPW module but it gives some error. I wish to do this using default users api. Can anyone guide me on how can I do this? Also most importantly, how do I create page dynamically and add specific template to it? Thanks.
    1 point
  46. Hello vineonardo I'm on a similar project as yours, and I'm not a skilled programmer too, I'm a front-end developer and I had same question you got right now. I'd suggest you to have a look at this 2 topics (here and here), which were enough for me to setup a user registration form with PW API. Finally, here is a post I made where you can find my code and other userful insights. I'm going to follow this topic, if you got other questions Have fun!
    1 point
×
×
  • Create New...