Jump to content

Leaderboard

Popular Content

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

  1. In my opinion some of the convenience of putting sites up fast is diminished by the need to constantly keep an eye out for vulnerabilities. You can't just set the site up and expect it to work. The more important the site is to your business or your reputation, the more you'll have to worry about it getting hacked or otherwise tainted. Additionally it's not all bliss when your plugin collection grows and each time you want a new one you need to consider how it affects all the existing ones. Anyway, I've heard the same positive things, and witnessed them myself too. In this regard it mostly depends on how happy you are with the off-the-shelf solutions: if it's a perfect fit then that's great, but if you want to make "just a little change" things can get ugly really fast. Probably the best answer in that case would be "can't do it". Also, if the client (whether that's a real client, you, or someone in-house) asks for a new feature, you'll have to consider the whole plugin ecosystem before giving them an answer. ProcessWire makes developing custom solutions extremely fast. For the kind of solutions I've been developing for years, from the scratch, ProcessWire saves me so much time per project that it's almost scary. On the other hand developing a custom solution is never going to be as fast as installing pre-made themes and plugins
    8 points
  2. I would never deny that wordpress pages can be done quicker than processwire ones, but you only get so far as plugins take you. And as long as we are talking simple of the shelf websites and functionality. Not to mention lack of support or interoperability of plugins. I just turned down a small budget website, because it did need an calender/booking widget, which I couldn't have build from scratch for the money. That's exactly where wp shines. But I think you can create a similarly quick workflow when creating own packages of classes, using composer packages, pw modules and html/sass components. It's just another mindset, which I just currently try to enforce. Build things in a way you can reuse it later. One good example are PageAction and IftRunnerActions. They help you encapsulating common tasks that you can reuse. If you find something in wp, which would make your life easier in processwire, just take a look at the code (keep licenses in mind) and port it over. Do you have any particular plugin/functionality that you found on your research?
    8 points
  3. Plyr Media Player for ProcessWire ! beta status. This module is "work in progress" v0.2 ! Please be patient as this is my very first public module ^^ This module adds the Plyr HTML5 Media Player (plyr.io) to ProcessWire. Plyr is basically a wrapper for the natural media interface in modern browsers. It adds the ability for easy styling via CSS and a sprite, while being fully responsive. Also Plyr gives you full controll over the player with its great javascript interface. MarkupPlyrMediaPlayer incorporates Plyr for ProcessWire. -> GitHub -> Module directory Current capabilities After installation, you will notice some module configuration options. These are: - Automatic Mode If enabled, this option will automaticaly add all needed resources into your pages output. - Use CDN Use the official Plyr CDN (Content Delivery Network) for resources? The following resource options are only required if you don't wish to use the CDN: - Path to CSS file (Path to your CSS file, required to style the players.) - Path to Plyr library (Path to the Plyr javascript library, required for the functionality.) - Path to SVG sprite (Path to your SVG sprite image file, required to style the players.) Automatic mode If automatic mode is enabled, the module hooks after the page rendering and automatically adds the stylesheet to HTML head. Also adds an AJAX call to fetch the SVG sprite and the Plyr javascript library right before the ending body-tag. Also, while in automatic mode, that extra markup will only be rendered if a template made a render request for a Plyr player. So there will be no unnecessary load on your site. Get module $plyr = $modules->get("MarkupPlyrMediaPlayer"); Add a video player to your template echo $plyr->renderVideoPlayer($poster, $mp4, $webm, $captions); The $captions-Array contains details of the caption tracks: $captions = $caption = array(); $caption['label'] # Something like "English captions" $caption['src'] # http://...movie_captions_en.vtt $caption['srclang'] # en|de|ru|... $caption['default'] # true|false array_push($captions, $caption); Add an audio player to your template echo $plyr->renderAudioPlayer($mp3Path, $oggPath); Add the YouTube-wrapper to your template echo $plyr->renderYoutubePlayer($videoId); Manual mode If automatic mode is disabled, you have to render these parts manualy in your page template. Important: This method will not check if a player was requested. In the HTML head: <html> <head> ... <?php echo $plyr->renderHeadLink(); // Basicly just a <link rel="stylesheet" href="..."> ?> </head> ... And in the footer somewhere before the closing body-tag: ... echo $plyr->renderScripts; // AJAX call for SVG and JS library inclusion </body> </html> Where is this going? Before getting a v1.0.0 stable release, this module should be capable of following features: - [done] Load resources from CDN or local files - Reliable automatic mode with fallback to local - Brings specific Inputfields for video, audio and youtube for the backend and frontend markup rendering - Every Plyr javascript setting can be handled via module configuration
    2 points
  4. Hello, Me here. I work for a creative marketing agency and I have worked with so many CMS's I dare not count. But some of the leading ones include; Concrete5, Drupal, Joomla and WordPress. We almost always used WordPress over these other solutions. It meant for quicker development times, need a slider? Sure Revolution Slider has you covered. I went on to start building sites by just filling a header and footer in and building the rest in Visual Composer. Sure enough... I got lazy. Now we have over 30 websites running WordPress and they are all running out of date, the WordPress versions, the vast amount of plugins. Keeping WordPress up to date and secure is a job within itself. Then stuff like this starts happening: https://blog.sucuri.net/2014/09/slider-revolution-plugin-critical-vulnerability-being-exploited.html. I now when ever we have the budget for a custom build, use ProcessWire. If I found ProcessWire earlier, I may have never used WordPress for custom builds unless client requested. ProcessWire's API is one of the most powerful I have used and kicks WordPress's WP_Query ass and without a 3rd party plugin (ACF) WordPress is a pain in the backside. ProcessWire is now my one true love and I'm sure destiny brought us together, but I believe we are made for each other.
    2 points
  5. Hey B3ta, apologies for replying awfully late. I was on holiday when you posted and it seems I lost track of it. These files are for translating the back-end. For completeness sake: you can download the Dutch translation files from GitHub. I wonder why it's gone (has it ever been there) from the Language Packs in the modules directory. I will add it again. If you want to enable the front-end you can install and inspect the multilangual profile. It's a great start on how to work with different languages in the front-end. If you have any questions: do ask.
    2 points
  6. Am nearly done with the jQuery plugin side of things. Wil try and push this to GitHub tomorrow for those interested to test. Haven't started yet with form-rendering - let's just do this thing one step at a time.
    2 points
  7. I just want to quickly add: If posting the url to this forum is the seo strategy and we won't hear back from you I'm going to remove the link in the entry posting.
    2 points
  8. MultiValue Textformatter for ProcessWire Set flexible data structures in "key = value1, value2, ..." format to use as variable groups in templates. Great for general site settings, social links, menus, etc. Converts contents of textarea field "social_links" from this: @ url ::: title ::: target Facebook = https://facebook.com/mycompany ::: Follow us on Facebook ::: _blank Linkedin = https://www.linkedin.com/mycompany ::: NULL ::: _blank Email = #contact ::: Contact to an object to be used like this: echo $page->social_links->facebook->title // result: "Follow us on Facebook" echo $page->social_links->email->title // result: "Contact" Putting it together: <ul> <?php foreach($page->social_links as $item) { ?> <li> <a href="<?php echo $item->url; ?>" target="<?php echo $item->target; ?>" title="<?php echo $item->title; ?>"> <?php // name is the original key echo $item->name; ?> </a> </li> <?php } ?> </ul> Syntax: @ header1 ::: header2 ::: header3 Key = value ::: value ::: value [ ::: ...] Another key = value ::: value [...] More info: Modules directory GitHub Feedbacks and suggestions are welcome.
    1 point
  9. Is there anyway to hide uneditable pages from the end-user? So that they only see the content that concerns them in order to avoid confusion. I'm just finding that the templating has been refreshingly clear yet I'm struggling to replicate that in the backend, getting lost amongst the unpublished, hidden and user privileges. I'm also unsure if it's possible to let users edit a page's content without them having access to that page's settings? In my head, if they can't edit something they shouldn't be able to see it. Sorry for all the newbie posts
    1 point
  10. 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
    1 point
  11. Like others here, I build sites that require reuse of images. In my case, the images must always be accompanied by correct credits and descriptions, and must be replaced sitewide when our contract with the photographer ends. So centralized image storage is a must, and one page per image works fine. The challenge is selecting image pages from other pages in an easy, visual way. Soma's images module is a great move in that direction, but for my needs, users should work only with thumbs, never with HTML. The default pages field seems like it's allllmost there. I'd just like one of the field label choices to be the image field, and to choose a page by thumbnail. Ideally, the thumb will be shown on the page after selection, as it is with the images field. Even more ideally, the page picker will include search. Even even more ideally, I'd have the time and php chops to build this module myself.
    1 point
  12. Hi @Tom. Thanks for sharing your experiences with WP and I am happy to hear about your blossoming affair with Processwire! Cheers!
    1 point
  13. 1 point
  14. <?php if( is_array( $page->images ) ) { } ?>
    1 point
  15. I did a couple of WP sites back in the day and this was my experience - except that I found it was never a perfect fit, so it was never great I think if you are happy quoting a budget price and saying no to those little changes then you can get by with WP, but I am always embarrassed to say I can't make a change that the client wants and when WP makes these changes so hard, I just don't think it is worth it. I actually find development of even simple sites easier and quicker with PW.
    1 point
  16. Just noticed: It seems like the tag $page->get("{parent.title}"); does get parsed in the dev version.
    1 point
  17. Well my next step after this was asked and rejected would have been to copy processUpgrade with my own module directory url and reverse engineer the JSON data it produces. So the purpose of my original question was actually to dodge some work
    1 point
  18. I did it already, even if that's not the strategy, it just doesn't make sense to leave it there if it was not made in proseccwire processwire. Google is fast at getting links from the forum, all seconds are precious
    1 point
  19. Great minds think alike don't they Tom. I mean, Reno.
    1 point
  20. I would love the idea to kill symlinks (our current method of keeping inhouse modules up to date) with this (private github repo + processupgrade).
    1 point
  21. Before posting, it's worth noting there is an existing section on Security relating to ProcessWire in the Docs section of this website: http://processwire.com/docs/security/ It contains several sub-pages that are worth a read as they offer code examples where appropriate and pointers for general security beyond ProcessWire.
    1 point
  22. @caribou, I have been working on a commercial module that does exactly that (minus the thumbnails in the selected pages list). It is nearly done. A few things remain, such as the CSS. See screenshot below for a (unfinished-state) preview. I will try post a video demo later today. I'll be looking for beta testers so might PM you if you are interested. Thanks.
    1 point
  23. I like the idea. I have been looking for proper way to version control PW sites recently, and have not ended with a clear decision for myself. Of course "it depends on a project". But we can come up with a tutorial helping make the choices. What to version in git I never tried initialising a git repo in templates folder, as Ryan suggested here. Custom modules and now site/ready.php should go to version control, as well as config.php. For me the choiсe is either to version the whole installation or only the /site folder. As I usually modify the .htaccess I am leaning to the former. The next thing is what to ignore. Some think you should ignore /wire, some think it is worth having it in the repo. If we could (I mean If I knew how to) install the needed version of PW core as a dependency via composer or include it in a similar way automatically after deployment / git checkout, it would be better to leave /wire off. But for simplicity it could be better not to exclude it as it is quite small. That definately should be excluded is some part of site/assets. If the site is a big one, excluding site/assets/files is a must. But for a small near to static it is probably worthless. You should probably ignore these almost every time not to mess with constantly changing data: site/assets/cache site/assets/sessions site/assets/logs I found no reason not to include all modules to the VCS. Deployment Speaking about deployment, I do not like the idea to deploy every time I commit (which seems to be the case if using git-hooks, if I am getting it right). There are other ways for deployment with git, but I an intrigued by doing it with something like this or this (both are capistrano-like deployment tools in php). Anyway, I do not seem to find a way to easily deploy database changes. Maybe in the case of semi-static sites it is possible to dump a database and restore in with git-hooks (or to include a sql dump from sites/assets/backup/database to the revision and manually restore it), but it probably will never work with subscription sites and rich-content sites managed by clients. The only way to keep track of changes made to the database via PW GUI (admin) I came up with is keeping a journal. I made a folder where I include subfolders related to git commits with JSON export files for fields, templates and forms, which should be imported. Pages are just described in .txt as I know of no way to export them to something like JSON. It would be awesome to have something like the things discussed here available not to do it manually. Hope it is somehow useful. I would be delighted to hear how others do it, as I am certainly only an amateur in all this stuff.
    1 point
  24. yes, the helloworld tutorial is a good starting point! thereafter you can easily setup a kind of "sub-template-system" (how you call it) like this: this is the "default intermediate edition" profile - just install this on your dev-environment and read the files _main.php, _init.php and basic-page.php and you will understand how easy it is to setup very flexible and custom things with processwire! also welcome to the forum ps: actually you would only have to append "<?php" on top of _init.php and all your template files - everything else is ready to use!
    1 point
  25. Users don't represent viewable pages on the front-end so you may want to connect them with some other template by way of URL segments. i.e. $username = $sanitizer->pageName($input->urlSegment1); if(empty($username)) throw new Wire404Exception(); $page = $users->get($username); if(!$page->id) throw new Wire404Exception(); // prevent superuser or users that don't have a specific role from being viewed if($page->isSuperuser() || !$page->hasRole('some-role-you-want')) throw new Wire404Exception(); $page->of(true); // now you can continue just as if this were the user template // as $page now represents a user As for finding users by role, try adding "check_access=0" or "include=all" to the selector. Those user pages are going to be protected from normal access, so adding one of those to the selector makes them accessible to the find().
    1 point
×
×
  • Create New...