Leaderboard
Popular Content
Showing content with the highest reputation on 01/03/2015 in all areas
-
5 points
-
This API withdrawal just hit my latest project pretty badly and, consequently, I've switched over to fullcalendar as I find that the big players like Amazon and Google deprecate some of their APIs frequently and it makes those services a pain to work with. For what it's worth, the latest version of fullcalendar does have google calendar API v3 integration but I've gone down the route of using the fullcalendar event handlers and a little ajax for creating/reading/updating/deleting events and storing them as pages in PW; so now my calendar-based projects can work without the need for a connection to google. I hope to get round to releasing this as a stand-alone module eventually.4 points
-
Hello everybody, our next module is an performant manipulator for Pageimages. It is called GIM. GIM is basically a wrapper for the PHP library Gregwar's image class, which performs many image manipulations. The wrapper is written in a way that is compatible with Horst's PageImageManipulator's (PIM) syntax. How does it work? GIM extends ProcessWire's Pageimage objects. You can load every image with the method gim(), perform some operations and save the image with the save() method: $image = $page->image->gim()->grayscale()->save(); The save() method returns another Pageimage object, so you can use it with other native ProcessWire methods and hooks. Methods GIM includes a lot of methods for image manipulations. You can find them in more detail on our module page. You can crop, resize, flip and rotate the image in several ways You can apply filters like sepia to the image You can add texts and shapes to the image You can merge multiple images in multiple ways Compatibility with Horst's PageImageManipulator (PIM) You can just use GIM instead of PIM by replacing pim with gim: $image1 = $page->image->pimLoad('prefix') ->setOptions(array('outputFormat'=>'jpg')) ->brightness(-10) ->contrast(15) ->grayscale() ->width(600) ->pimSave(); // uses PageImageManipulator $image2 = $page->image->gimLoad('prefix') ->setOptions(array('outputFormat'=>'jpg')) ->brightness(-10) ->contrast(15) ->grayscale() ->width(600) ->gimSave(); // uses GIM GIM includes every method from PIM, so it just works. Also GIM and PIM share the same variation naming scheme, so when you start using GIM, the transition is seamless and does not need to recreate every image. Having the same naming schemes means, that GIM and PIM can also work side-by-side. For a full list of compatibility and migration notes, please check out our module page. Performance The reason why we created GIM is that we were looking for a more performant PHP image library for converting lots of images at once. After using Gregwar's image class for a few images, we thought that this library should find its way into ProcessWire. After testing GIM on a few sites, this is what we found out: GIM handles already manipulated images around 40% faster GIM is able to heavily manipulate at least 15 large images (> 2000px) in one request (more weren't tested yet) GIM is slightly faster than PIM for single image operations I hope this is a great addition to the ProcessWire module ecosystem and you can enjoy it. Thanks in advance, Marvin P.S.: Horst, I hope you don't see this as offense. PIM is a great module!3 points
-
I just send first newsletter out with some badly cropped screens: http://eepurl.com/bagVe93 points
-
Hi pwired, No, you don't need an .htaccess file to secure your site. As per the official documentation: In other words, anything you can do in an htaccess file you can do in your Apache config files. The official documentation also discourages the use of .htaccess files:3 points
-
The bottleneck could be the filesystem when you reach more then 30.000 pages with assets. But ProcessWire has you covered with the pagefileExtendedPaths setting. When you expect your site to grow beyond 30.000 pages with images or/or files enable this setting in /site/config.php Ryan states that this feature is beta but I confirm it's working without any quicks. /** * Use extended file mapping? Enable this if you expect to have >30000 pages in your site. * * Warning: The extended file mapping feature is not yet widely tested, so consider it beta. * * Set to true in /site/config.php if you want files to live in an extended path mapping system * that limits the number of directories per path to under 2000. * * Use this on large sites living on file systems with hard limits on quantity of directories * allowed per directory level. For example, ext2 and its 30000 directory limit. * * Please note that for existing sites, this applies only for new pages created from this * point forward. * * @var bool * */ $config->pagefileExtendedPaths = false;3 points
-
Feel free to stick your name in with mine in the author attribute on the module too if you haven't already done so.2 points
-
Ok, I am not seeing this inside my site/config.php is this something that doesn't exist in the latest versions, or is this something that I should add? ** I found it in my wire/config.php and added it into my site/config.php. Thanks a ton, now to see if it does anything where I am now .2 points
-
Hi, After reading this thread, I decided to make a module that helps generating PDF files of ProcessWire pages. GitHub: https://github.com/wanze/Pages2Pdf Modules Directory: http://modules.processwire.com/modules/pages2-pdf/ This module uses the mPDF library to generate the PDF files. It has fully UTF-8 and basic HTML/CSS support for rendering the PDF files. The output is customizable with ProcessWire templates. Example I've enabled generating PDF files for the skyscraper template of ryans Skyscrapers-profile with a template that outputs the data in a table along with the body text and the images: one-atlantic-center-pdf-4177.pdf Please take a look at the README on GitHub for instructions and further information/examples. Cheers1 point
-
This Textformatter allows you to designate areas in a single textarea to be converted to a collapsed accordion list. The markup pattern for this module is based on the Pagination Textformatter module with the idea that they could be interchangeable. Github Page Simple Demo To define an accordion item Put 5+ hyphens '-----Your Title Here' on a single line (within paragraph tags) to specify a title for the accordion item. The paragraphs below will be collapsed. This is the same idea as the Pagination Textformatter, however titles are not optional. If you just put the dashes, the item with be automatically titled "Untitled". To end an accordion To end a group of accordion items and return to regular textarea content, put exactly 5 slashes on a single line '/////' (within paragraph tags). This is only needed if you want to end collapsed content and return to regular textarea content. Notes I've been using this on a production site for nearly a year, but before Ryan released the Pagination Textformatter it was using with a totally different markup pattern to designate the accordion items. It should be pretty stable, but consider it a beta release. Markup pattern inside a textarea (Nearly identical to the Pagination Textformatter) ----- Accordion Item The paragraphs beneath each accordion item are collapsed by default and open when you click on the title specified above. You can use multiple paragraphs, and any other content allowed in the textarea. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede. ----- Another Accordion Item Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede. ///// The 5 slashes above signify an end to the accordion group above. You only need to specify the end of a group if you want to return to regular textarea content. You can continue to use the same pattern to collapse content into accordions as many times as you wish. Results in the following markup: <dl class="accordion"> <dt> <a href="#accordion-item">Accordion Item</a> </dt> <dd> <p>The paragraphs beneath each accordion item are collapsed by default and open when you click on the title specified above. You can use multiple paragraphs, and any other content allowed in the textarea.</p> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.</p> </dd> <dt> <a href="#another-accordion-item">Another Accordion Item</a> </dt> <dd> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.</p> </dd> </dl> <p>The 5 slashes above signify an end to the accordion group above. You only need to specify the end of a group if you want to return to regular textarea content. You can continue to use the same pattern to collapse content into accordions as many times as you wish.</p>1 point
-
I have been spending some long evenings building PadLoper. It is my personal project to challenge myself as a developer, but also something I believe ProcessWire really misses: a solid eCommerce platform. I am happy to announce, that I am not very far away from public release, so I did create a little teaser site and email list for all of you that are interested: https://www.padloper.pw/ As many of you now, I also have bunch of eCommerce modules called "shop for processwire". Those remain open source modules, but I am not actively maintaining them (like I really haven't since 2012). All the code in PadLoper is new and it's totally build from ground up. If someone wants to maintain or develop shop for processwire further, I am more than happy for that. There will be some open source components coming from PadLoper also: at least payment modules, but I might also open source the shopping cart module. Padloper released 4th October, 2015: https://www.padloper.pw/1 point
-
Some sites need widgets, as they have been called in some systems; a widget can be almost anything, like: tag cloud mini calendar menu quote rotator free text social sharing search contact info map This is a simple way to create widgets that can be shown in multiple "areas" of a page, as well as on specific pages. In this particular method you would need to setup each widget type you want and then determine how best to accept any necessary user input like content, pages select (like for a menu) or settings. This example uses include files for each widget type, and the name of the include file would match the name of the widget type, which is also a page field. In this example, I'm also using ListerPro to provide a widget management page. Fields The main fields used on this widget example are : title widget_location (page select - options in this case are footer and sidebar) widget_type (page select, you would configure your widget types as selectable options) pages_select (would be used for multiple pages and might apply to a menu widget) body - used for plain widgets selector (selector inputfield, used for telling the system where to show the widget) text_structured - for this i'm using a YAML field, but it could just as easily be a table; would depend on what you want to store; YAML would allow this single field to be used for varying requirements based on the widget type, but would be harder to validate and prone to user error; icon - a page select for an optional icon which is being used in the template, and would be shown as part of the widget. Files for each widget type you want to allow users to select from, you would need to create an include file with the markup for that widget, and then add that widget to the list of available widgets. here is an example for a site with several widget types: Selector & Output wherever you want to include the widgets (footer, sidebar etc.) you would run a $pages->find and then foreach through the widgets (in this case finding all footer widgets). In this case the (incredibly amazing new) selector field would be specifying what pages to show the widget on. We assume that most widgets won't have a selector specified, and will default to show the widget. if a selector is specified, we can check to see if this page fits the selector by using the $page->is($selector) syntax. <?php $widgets = $pages->find("template=widget, widget_location=footer, sort=sort"); foreach($widgets as $widget) { // check if the selector field is in use and if so, see if this page is supposed to display it: if( $widget->selector) { if( !$page->is("$widget->selector") ) continue; } $widgetType = $widget->widget_type->name; $include = file_exists("./inc/widget-{$widgetType}-foot.inc") ? "./inc/widget-{$widgetType}-foot.inc" : './inc/widget-footer.inc'; include($include); } ?> this example also has a fallback file in case the widget type is not specified, sort of a default. the widget's .inc file will be unique to your design and how you have it setup.1 point
-
Than it would be nice to at least include a link to the rss feed on the actual site. That's where I looked for it.1 point
-
See two posts above, such a feed already exists https://processwire-recipes.com/feed edit: Regarding sidebar implementation: We'd by honored, but of course this is Ryan's decision to make.1 point
-
1 point
-
Ryan wrote this on github: https://github.com/ryancramerdesign/MarkupLoadGCal/issues/51 point
-
Haha, same here. Loved XP, optimized the hell out of it and did regular reinstalls. Although Win7 was a great improvement compared to the hellish nightmares Vista gave me, it eventually made me switch to Mac. I think Apple does NOT stink less than Microsoft, but the Unix kind of thing was very appealing to me. I would have switched to Linux if the Adobe Suite was available for it. What I do miss sometimes is gaming, but then again I barely have time for that anyway anymore. In my opinion Windows 8 is an even greater disaster than Vista was, but I don't want to go further into this, or I might be banned for cussing the heck out of it.1 point
-
Wanze, just wanted to say thanks for this module - worked without any flaws. Very easy to setup!1 point
-
1 point
-
1 point
-
@ceberlin, you can solve this very easy in source: /public_html/site/modules/ProcessPiwikAnalytics/ProcessPiwikAnalytics.css add this code: #content .container > form, #content .container > .ui-helper-clearfix > form { top: 30px !important; }1 point
-
1 point
-
1 point
-
Hey Happy new Year Everyone! Hope that all your wishes and PW related ones comes true1 point
-
1 point
-
Antti put this out some time ago now: http://modules.processwire.com/modules/inputfield-flickr/ Back to topic - happy new year to everyone - my current backyard is the view in my avatar1 point
-
Happy new year back at you, Ivan and everyone else. Hope 2015 is a great one professionally AND personally. Nice to see pics of peoples neighborhoods too1 point
-
Same here in Berlin/Germany: +3 °C and the last snow is melting away in the rain :/ But anyway: Happy New Year to all of you!1 point
-
1 point
-
Yup, gimme high five on that one. There are so many things in PW that all fit together just like it should. Thank you Ryan, PW and forum for pulling a html guy into php and finally become part of the scene. Read you all again in 2015.1 point
-
Hi Adrian Thanks for all your work on this. I've added you as a collaborator on my repo so I think you might be able to merge changes into the main repo yourself if you like? I certainly don't see a problem with anything you've added (aside from me not having tried any of the new things out yet ) so happy for it all to be merged.1 point
-
The name comes from the little turtle, like Teppo mentioned. No specific reason for that name. As a father of two (soon three) kids, I know that everyone needs a name - those are pretty handy. PS: pad is also handy prefix, there will be padcart, padorders etc...1 point
-
Thanks to Apeisa I'm currently doing some work in UIKit and loving it. They all come with a certain amount of baggage, but I'm finding that compared to Foundation UIKit is a bit more straightforward and, well, if I had the time and expertise it's probably how I would have built a framework. Plus it looks nice.1 point
-
@Joss Take a look at Semantic UI and UIKit1 point