Jump to content


Popular Content

Showing content with the highest reputation on 11/27/2015 in all areas

  1. 12 points
    I'm happy to share the recent re-launch of the website for the Smart City Alliance, an organization that promotes knowledge sharing and collaboration between Alberta municipalities, academic institutions, technology advocacy groups and business. Their previous website was built (oddly) as a Ruby-based application, and I managed to completely rebuild the site (while enhancing both the design and functionality) within a 2.5 week window while handling other projects. View the site: http://smartcityalliance.ca/ - - - - - - Front-End Fanciness: - Fully responsive design - SRCSet for key images Modules in Action: - AIOM+ (All In One Minify) - Hanna Code - Map Marker (Field Type) - Twitter Feed Markup Leverging Processwire: - Powerful use of pagefields (for the tagging system) - Advanced caching rules for all template types - Easily generated a variety of specific RSS feeds
  2. 5 points
    Beta release is now available via the modules directory: http://modules.processwire.com/modules/admin-restrict-branch/ Contains a few bug fixes, adherence to Add New permissions, and the ability to restrict the name matching to the restricted branch to a master parent to reduce potential for incorrect matches and also improve matching selector efficiency. Despite it being released, please still carefully check that your affected users have the permissions and access that you expect and let me know if you have any problems!
  3. 4 points
    Hi @totoff, it depends on what tasks I want apply to a site. If it only rely on template files, css and js files, I switch from regular to dev-files. Means, I use a little abstraction layer for including my files like this: $myMainJSfile = "scripts/main.js"; $myMainCSSfile = "styles/main.css"; When working on a live site, I use something like this: if($user->isSuperuser()) { $config->debug = true; $myMainJSfile = "scripts/main.dev.js"; $myMainCSSfile = "styles/main.dev.css"; } else { $myMainJSfile = "scripts/main.js"; $myMainCSSfile = "styles/main.css"; } When working on templatefiles, I put in the top of the template file a few lines of code: if($user->isSuperuser()) { include("./nameOfMyTemplateFile.dev.php"); return; } This switches to a dev version of the template file and returns directly after including it. (The code of the original isn't executed). This is a basic description. Depending on how you have organized your site, there is a lot room for improvements, go into depth, make it a more granular system. But you get the idea. If I need to alter the DB too, I use a separate site/config.dev.php too. YOu can read about it here, scroll down to the end: "Maintaining a separate development configuration file". (I duplicate the DB to a dev-version and connect to it for development)
  4. 3 points
    one of the best resource on this topic: http://nikic.github.io/2012/01/09/Disproving-the-Single-Quotes-Performance-Myth.html general more simple stats on what PHP handling has impact on speed: http://phpbench.com/ regards mr-fan ...'i'.'like'.'this'.'style'.'too'.'but'.'it'.'seems'.'that'.'in'.'fact'.'it'.'is'.'slower'....
  5. 2 points
    I' m not quite sure what you mean by reports. I am using Lister Pro to show all the signup pages that were stored for the events. They can then be filtered and sorted by event, by signup date etc. Possibilities are almost endless and depend on your specific scenario. It is definitely worth reading up on what Lister Pro can do. In particular interesting are the lister pro actions. You can export lists to CSV and more. This might sound like I am advertising the module here. And, hell yeah, I do because I find lister pro really useful and well worth the money
  6. 2 points
    The CRM part some highly specific stuff, certainly not helpful for anybody else. The modules I'll focus on getting into publishable state will be OpenSearchServerSearch (including the schema for OSS), PagePublishPerLanguage, ArticleIDLinks and ActiveDirectory/LDAP integration. If there's time left (I'm a bit cautious with promises atm, as I'm going to be rather involved in switching our ERP system next year), I'll see if I can change the translation TextFormatter into something generic and configurable and bundle everything together with the notice board into an Intranet site profile.
  7. 2 points
    It's been more than 9 months since I wrote in this thread about our intranet. Well, things happened that had me away for a good while, and when I got back to it, the wishlist exploded. Finally, though, the migrated intranet is up and running, and based on the feedback I'm getting, I can already call it a success. Here's a short feature list: Running on Windows Server 2012R2 / IIS 8.5 A little over 8000 pages, two languages, 600+ frontend users in 15 countries, 45 editors About 20 templates 15 custom modules Reduced custom CRM module code to less than one-eighth (counted in bytes, not lines) Integrated web server authentication and detailed Group permissions using Apeisa's UserGroups module (big thanks there! Keeping our group-based permissions was one of the main requirements for the new CMS) Live user + groups synchronization from Active Directory Granular search via OpenSearchServer (including permissions handling and indexing linked PageFiles) Tag based in-text translation system through custom Textformatter module linked to our ERP database, with own CKEdtior plugin (think detailed technical data sheets where you don't want to edit every language version separately) About 400 dynamic pages that range from simple database-driven lists to rich single page apps Persistent page links using page IDs that get replaced on save + render Versioning for textareas Custom links in the style of "article:CUSTOM_UNIQUE_FIELD" used to fetch recurring content into pages in our in-house manuals Booking system for our inhouse training center using just pages, standard fields and a bit (well, a good bit) of frontend-editing glue, with graphical interactive calendar Pages can be published per language through a multilanguage checkbox, with corresponding indicator icons and actions in ProcessPageList Notice board system (title, short body, optional attachment, expiry date) for main and department pages, with frontend adding/editing and admin interface Detailed permissions reports in backend and through command line for compliance audits Not yet implemented, but a working prototype is already on the test system: a simple question/linear response forum system with rating, tagging, answer accepting and highlighting options, primarily targeted towards international knowledge exchange Big thanks to Ryan, PW is really an outstanding system in terms of flexibility, scaling and ease of integration, and also to everyone who contributed in any way to PW itself or its huge module repository. As a funny side node, I talked to a colleague from manufacturing when migration was still under way, and he was initially a bit miffed that I'd swap the system he already knows (hey, it's only been 7 1/2 years!) - but only until I told him I'd use PW. At the mention of the word "Process" he immediately determined that his workflow to add content would get a lot smoother, something I could confirm without thinking. (The old system had a separation between categories and articles, so you had to create both in different backend screens to get a navigation entry for a simple page that shows just some text - in PW he only needs to tick the "Show in Navigation" checkbox for his new page.) Shows that the right naming choice already gets you halfway to the goal Now that "The Big Project" is done, I'll only have to weather the usual end-of-year-craziness, then I'll get my custom modules into a shape where I can share them (meaning: polish documentation, add reasonable defaults and switch to module config fields instead of config files).
  8. 1 point
    when a PageListSelect is populated it looks like this: if you want to clear the value of this field rather than changing the referenced page, you have to do lots of clicking if your selected page is somewhere down the tree: it would be great to have a "clear" button right beside the "change" button
  9. 1 point
    You need to save the page first, then add the files, then save again (see example here)...So, are you sure the files are not getting uploaded or you are removing them (the code after ....// remove all tmp files uploaded) after saving the page?
  10. 1 point
    I dont know what you exactly need in your guestbook but why dont you use the comment field as a guestbook? You can style it in the way you want with overrides.
  11. 1 point
    Hi everybody, I'd like to share a new module with you. Its purpose is to let users sign in with their Active Directory accounts using LDAP. It works similar to the module jimyost released in 2012, but adds some new features to it. You can define specific roles that are applied to new LDAP users Passwords are automatically updated by LDAP Local users still work like a charm You can translate it in the language you want to deploy your ProcessWire site New: Connect to a LDAP server via SSL New: Debug Mode New: Your configuration will be validated on save In my opinion, LDAP authentication is a must-have for ProcessWire being successful in the enterprise. What do you think? Is there a feature you miss? You can find the repository here: https://github.com/conclurer/LdapSignIn You can find the module in the ProcessWire module directory. Thanks in advance! Marvin Edit: Updated to Version 0.5.1 Beta including some minor fixes
  12. 1 point
    Welcome to the forums and ProcessWire You got two options: Use the ImageExtra module If you are using the page itself as a store for the image, you can use your page's title as the image's title By the way, in case you haven't seen it, you can enable image tags when editing your image fields.
  13. 1 point
    Dev branch bumped to 1.3.5 with an important fix. compileDestinationUrl was not returning the correct data, which resulted in relative redirects. This issue has now been resolved, and the behaviour is the same as the current stable. Looking to push to 1.5 soon for stable release - please test... Thanks!
  14. 1 point
    Great, thanks Adrian. Yeah, just the two modules (for now...)
  15. 1 point
    page name should be enforced to be unique already, but you could use this for text fields: http://modules.processwire.com/modules/fieldtype-text-unique/
  16. 1 point
    It is a recommendation (and for good reason...performance-wise [Google it] ).....but, personally, I almost always use your '2nd' example $editUrl = 'data-mfp-src="' . $page->editUrl . $lang . '&modal=1"'; ...for readability.... as long as there is no performance hit...
  17. 1 point
    Editors like PHPStorm (which I know a few here use) will highlight variables the same however you use quotes, so shouldn't be any harder to spot. I know Ryan uses PHPStorm and so do several others here but not sure if other editors cause variables to be less noticeable?
  18. 1 point
    Is there a specific reason you're running a MySQL query first? Could you rewrite this part to use one PW selector? Such as... template=event_item, shows_relation.date>2015-11-28, shows_relation.date<2016-01-15
  19. 1 point
    Make sure your post url ends with a slash.
  20. 1 point
    Thanks for that link, I was crawling the forum for links/posts like this, wrong place. I was following another tutorial to add custom fields and added them to the wrong page.
  21. 1 point
    Welcome to the forum. You should read some tutorials, like this one. http://processwire.com/docs/tutorials/simple-website-tutorials/ In ProcessWire nearly everything is a $page (even users, roles, permissions) If you want to assign more fields to the user template. Create the fields, you need Go to templates. Select Filters, Show system templates Select template 'user' and add any field you have in your system If you want to see the fields in the user profile, you have to add them in the settings of Module ProcessProfile.
  22. 1 point
    I just started the process of going 2.0 on my first PW build. It's been running smoothly on 2.5.3 for a little while now, its first iteration was on 2.4, early 2012 according to timestamps. It never had an issue whatsoever, neither DB or security issues. The only downtimes I've ever had with it is moving from a shared to a dedicated server and a few security updates on the server itself. Satisfied customers for 3 years in a row! Since then, PW has seen so much.. and I've gotten a lot better at architecting content on it.
  23. 1 point
    The "Allow new pages to be created from field?" option is great for site editors, but you can really only allow this if the template used in your Page field only needs the Title filled out. If your template requires other fields then editors need to leave the page they are editing and create a new page from the tree or from "Add New". It would be cool if there was an option to add new pages to the Page field via a modal window (like the one you get if you allow edit links for the field).
  24. 1 point
    The truth is that both ways sucks from the dev point of view because doubles the development time
  25. 1 point
    I've tinkered and dabbled with lots of "cool tools" and only end up using what makes sense TO ME. I tried git years years ago and I just didn't "GET IT", so because it didn't make sense to me, I didn't pursue it. Then I looked into it again some time later and probably because my work changed, I'm not sure What or Why, but this time around, it made total sense! I absolutely would have saved so much time, had I stuck with it the first time. It would have saved me countless hours of losing work and messing up configs and changes, etc. Now I can not see myself EVER working without git! Another one of the "cool tools" is sass/scss. I'm good enough with my css and organizing it very well, I don't NEED the complexities of learning another tool! But it too, has changed my workflow and I am indeed faster WITH IT than I am without it. My scss files are logically sorted and it's much easier for me to find some value than ever before with a 400 line css file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - In the end, remember, you make the Tool Cool. Just because Framework QWERTY is used by all the cool kids, means nothing. My uncle can build a dog house with a simple hammer and screwdriver. Does it matter how fast he builds that dog house? No, what matters is that the resulting final product be strong, stable, long lasting, durable, etc. YOU make the tool cool
  26. 1 point
    A few weeks ago, Hashicorp, the company behind Vagrant, announced Otto: https://ottoproject.io/ I'm excited to give this a shot and have it finally replace my (embarrassingly antiquated) WAMP setup, although it's a still a very young and perhaps has a lot of kinks that need to be worked out at this moment in time. If anyone tries it out with ProcessWire, I'd love to hear your experiences about it. Jonathan
  27. 1 point
    In my _main.php files I typically include a "layout" variation file. This is what you would start with as the main template, but moved outside to allow more customisation and flexibility. Specify a default layout to use in the _init.php file, and overwrite it in your template files as and when necessary. _main.php <html> <head> <style></style> ... </head> <body> <header class="header">...</header> <section class="main"><?php require "./includes/layouts/{$layout}.php"; ?></section> <footer class="footer">...</div> </body> </html> _init.php $layout = 'default'; // specify a layout that would be used for "most" pages (I call mine default) So most sites might have default, home and contact layout varieties as a starting point. A layout would include the stuff that varies between page designs and you would create as few or as many as you need, and call on the variables set by the template. For example, layouts/contact.php: <section class="content"> <p>This is our address</p> <?= $page->body ?> </section> <aside> <iframe class="map">...</iframe> </aside>
  28. 1 point
    I don't think it does(?). But you could easily do this yourself. For example create a variable (for consistency declare it in config.php as well as config-dev.php) and test for it. So config.php: $config->showConfigDevPresent = 'no'; and config-dev.php: $config->showConfigDevPresent = 'yes'; Then in your code, for example at the top of every page, check to see if this var is true and if so then have a styled alerting top row (or similar visual cue) to highlight this site is running with config-dev.php present. In fact I think I'll do that from now on! Thanks for asking the question!
  29. 1 point
    We've got this module just about ready for release. Here's an example of the module up and running and the [largely unstyled] output: http://processwire.com/email-images/
  • Create New...