Leaderboard
Popular Content
Showing content with the highest reputation on 02/06/2015 in all areas
-
I've been working part-time, for several months, on an administration and attendance tracking system for a local trampoline and gymnastics club where I also do a little coaching. Been trying to build this up incrementally in the form of re-usable modules and I have already released some of these (FieldtypeTime, markup crossfade & google calendar embed) but a couple of new fieldtypes and the major module - which handles club sessions, members, scheduling and attendance tracking - are still being tweaked. The system runs on the club intranet with the club administration being done via PW's admin interface and the homepage being displayed on the check-in kiosk at the front desk (a touch-enabled monitor in portrait orientation.) The athletes use the kiosk to check-in as they arrive and club information, signage and advertising can all be shown in the background on the kiosk thanks to the markup-crossfade module. Club staff can quickly and easily create new slides in the kiosk display sequence or modify what's already there (slides for fees-due, car blockages, session times etc) as well as seeing who is in attendance and for what. I don't yet have permission to post full screenshots of the athletes in public places (remember this is all internal to the club) but once I get permission I'll do a write-up of the site. In the meantime here's a few teasers. Firstly, on the check-in kiosk... ...and some from the back-end...8 points
-
Website for a Church in the Ontario, California Area A website conversion and refresh from Joomla. I did the original website about 5 years ago. It will be a basic website where different people can easily update the ever changing church information. An Urgent Notification Website for a Medical Practice with 2 Offices in Maryland and Washington, DC A secured private access only system that enables the practice's physicians to be contacted on an 24 hour basis. Allows designated users (internal staff, outside hospitals and a list of associated medical firms) the ability to use either a web based form, email message or Twilio telecommunications services to contact the medical practice. Regardless of the input mechanism, each communication is converted into individual ProcessWire pages that can be easily downloaded or viewed as a pdf. Each urgent notification can also be reviewed on the medical practitioner's email, customized VBX system (if called in) or on any of the practice's iPad devices. Internal Support Websites Continued build-up of a variety of web-based tools (websites) to support my IT and Telecomm activities (Consulting, Tech Support and WebDev services).8 points
-
New dev branch updates for this week: Field editor now lets you target templates Optimization to field cloning Live-updated session viewing tool Session cleanup on certain Debian-based servers Configurable session fingerprints Session history from the API7 points
-
I'm building a series of Process Modules for internal business functions. We have several processes that require complex forms. More than would be feasible to create using pages. So I decided to use FormBuilder to allow the appropriate users create and maintain the forms. There would be way too many fields required to send all these forms to pages using the built-in FormBuilder process. These are all lengthy forms (and this is a University), so think 10+ forms — some with up to 60 fields. Rather than save the form to a page, we hook into 'FormBuilderProcessor::saveForm' and create a page that references FormBuilder entry. (The page title is the same as the form entry, for example 1.817) I got a few tips from Ryan on that part. There is one base module called "ProcessAdminForms" that has all the common functionality. The modules that extend it can get as specific as needed. The screenshots below are from the "ProcessAdminIPIFs" module. It is an internal HR process that is required to hire a new employee or setup a new vendor. List of entries Show/hide columns (state saved per user via cookie) Viewing an entry Administrative comments & notifications7 points
-
I'm on the last track for a "waldkindergarten" == kindergarten in the forrest without a warm and sheltered building....they almost in the nature... Small project with really great people that leads this institution - it's a limited budget so i simply worked with a themeforest template on this one that, where i only made some individual changes that fits to the project. Second it's a for a small saw mill with direct marketing to craftspeople and agriculture - will need some sort of productcatalog....i know i will love to craft one with PW the next few weeks! Third is a big sideproject for the NGO i'm working - it would be some kind of accounting settlement system for mobile/web devices to get from our clients/partners the data for intern invoices/accounting (we do such stuff as a service for our farmers - they work and do there business / we get the things sorted and do accounting). That "Kind of Tool" is a little bit tricky stuff (Clientsystem, a lot of handling CSV for export the data, import a lot of stuff from a local MSSQL db, handling the monitoring, deeper look for security and much more...) for me would be hard since i'm not a real coder - but with PW on my screen i've had the self-confidence to get on this topic. Then i need a rest the next month's for me personally, since this year i've an important date to leaf the single side of life ( ) so there is a lot to organize and plan beside my dailyjob and my other projects.....so i wish all a productive but almost a great time, too.7 points
-
I'm currently finalising a site for a local architecture agency. Not really fancy from the backend point, but it's the first time I did templating with mustache in the backend and on the client side. There is also a site for a former college lecturer of me, who works mainly as a coach. But it's currently on hold, as she's busy with projects.7 points
-
It's a nice project. The website is only for the photography work and the photos are not related with architecture at all. Only nice b/w—hight contrast—almost abstract images. But i won't spoil the fun, you can see it very soon7 points
-
My weekly Friday pub question What are you all working on at the moment in PW? Tell us a bit about it, what it does, who it's for and how it works. I'm currently building 2 sites for a UK company in the broadband performance/ analytics space. The main corporate site is about 20+ pages. Nothing too fancy-pants happening but apart from looking great, it needs to be speed optimised to within an inch of its life due to the industry the company is in. There'll be some integration with SalesForce, a blog and some login/registration areas connecting the two. What about you?6 points
-
1. my personal website 2. A very large WordPress site which is gradually exported to Processwire ( Biggest Migration I've done )5 points
-
A website for a Swiss architect/photographer, one for a German dementia help association and one for a Portuguese small publisher (the one that published my small book ) All very simple, mainly using the core capabilities of PW.5 points
-
@Tyssen: yes, the pixelated ones are cached versions from before you specified upscaling = false. If you want to override them you can use one of the following methods: add a $image->removeVariations() before creating the new ones! Attention: don't forget to remove this once you are ready! since PW 2.5 you also can add 'forceNew' => true to your options array, this forces recreation of the variations every time a page loads! so please be careful and remove it after wards!! you may load Pia, Pageimage Assistant module. She has an option in the modules config page for forceNew that works sitewide if you are in debug mode and logged in as superuser. This way you do not need to alter your template codes and also it does not slow down your page for guest visitors if you forget to disable it.4 points
-
I'm busy with four at the moment, as part of building up my portfolio. The first is a simple site for a children's home here in SA - they urgently needed a site to bolster their online marketing. Will be live this weekend. The second is for a text-book producer and distributor in Cameroon. Their previous site was in WordPress, and was not build to perfection. The third, for which development starts today, is for a medium-sized auditing firm in Johannesburg. It's a migration from Joomla [no idea what version, but it's, dare I say, revolting - I don't know how people used the old Joomla], but there isn't a terribly large amount of content, so I'm porting it over manually, after editors have changed it up a bit. And, lastly, the fourth (brand new site) is for a diversified marine and oil gas supply and service company Nigeria. So yeah, quite a bit on my plate. Must say that I'm glad PW swooped in - it's literally taken over my business.3 points
-
ended up using this: http://css-tricks.com/snippets/php/generate-expiring-amazon-s3-link/ so i have a processwire page that checks to see if the url to the download is still valid (# of clicks, or date expiration) and then this one liner generates the link to the file on s3, which expires anyway in 5 minutes, and is authenticated. $fileUrl = el_s3_getTemporaryLink($key, $secret, $bucket, $awsPath); i would think it would be pretty easy to 'override' the local storage of a download in padloper with this function and then redirect the browser to the aws file url...3 points
-
This one is fixed now: The PW $config with recent dev versions now contains or can contain a variable logs: /*** 9. MISC ************************************************************************************/ /** * Additional core logs * * All activities from the API functions corresponding with the given log names will be logged. * Options that can be specified are: pages, fields, templates, modules * * @var array * */ $config->logs = array( 'modules', ); Per default it is set to include "modules". I have changed the croppableimage module to suppress loggin if this is enabled. If you use it with a recent dev version please update: https://github.com/horst-n/CroppableImage And I have tested it with PHP 5.3 and it works, so the requirements are updated too.2 points
-
2 points
-
Sounds good. I already need to be working on this for a few personal projects I want to implement. I'll look at your source more closely and see if I can make similar design decisions to streamline payments workflow on PW. Cheers!2 points
-
@Alfred: Now I can confirm that this is a new behave from PW. With PW 2.5.11 I have not have this messages in modules.txt, but after updating to version 2.5.17 I get this too. You said you run PW 2.5.16, so it is something between 2.5.12 and 2.5.16. I remember that there were many changes with the notifier and log functions in PW, so I will post an issue at Github to tell Ryan about it.2 points
-
Nothing too fancy there: download links will be available right after payment (in the form of www.yourshop.com/d/?code=NXSAIJF129JD) and also in invoice email you customer receives. You can set how many times and how long links will work - if not unlimited.2 points
-
I haven't given any thoughts on subscriptions. I suspect they are pretty hard to implement in general manner (and rare payment processors support subscription). I think it would be nice addition to the Payment Stripe, but probably something we should leave out from base class.2 points
-
@BernhardB & Marty You can install the module via Soma's Modules Manager or download it manually and put it in the modules folder. This should work. I will try to fix installation with the 'Download and Install' option in PW. 1 hour later: I could fix it. Should work now. Thank you for reporting.2 points
-
Here is very simple abstract class that I hope would get ideas and contribution from community, so that different PW projects could use same payments methods in generic way: https://github.com/apeisa/Payment Currently Payment modules just assume it's found from /site/modules/Payment/Payment.php, but I would love to get it autoloaded somehow (I went with PW module dependencies and transformed the base class into PW module also). Also I have tried to keep this as minimum as possible - hopefully I have not left anything too important out. I have also created one two payment modules, that use this base class: https://github.com/apeisa/PaymentStripe/ https://github.com/apeisa/PaymentPaypal/ Please visit their repos for examples.1 point
-
... got lost in crone Here is another one ... cronjob for database backup. All Informations here: github: https://github.com/kixe/CronjobDatabaseBackup PW Modules: http://modules.processwire.com/modules/cronjob-database-backup/1 point
-
I did another quick module, which plugs something I always kinda missed in ProcessWire. It's just a raw overview over the access management from the templates. Nothing fancy, but useful. The visible roles and the visibility of system templats can be setup in the modules settings. I'll add this to the modules directory later. But for now it would be great to hear if anyone is missing anything or if someone does have a better idea how to name the module. 12.03.15: Renamed the module and fixed wrong information for superusers and inherited rights from the required guest role. GitHub: https://github.com/LostKobrakai/ProcessAccessOverview1 point
-
I just wanted to start a discussion about issues and pull request in the github repo of ProcessWire. I know that Ryan is the one really responsible about this, but I wanted to know if others think like me, before approaching him. So to the topic. The repo has currently ~250 open issues and ~35 pull requests. For someone checking out on ProcessWire this could lead to the assumption, that there's lots of stuff broken and there are even people trying to fix stuff, but the pull requests are just abandoned. Now I know that Ryan is really trying to keep stuff structured with extensive tagging, but I think it would be great to have some kind of settled timeline in which issues/pr's will be closed. E.g. fixed issues after one or two weeks, discussions after four weeks after the last activity. I would think, it could improve the image of this stable cms, while keeping the issues directory clean and current. With Ryans tags even closed issues are still quite nicely to sort out and these can be reopened at anytime anyways.1 point
-
Each page in processwire has a name and a title. When I create a new page and give it a title, the name is created automatically. That name creates the URL of that page. This works great for English sites. However, for international users this doesn't work as nicely. If I create a new page and give it a title that's not in English, then the name field is left blank and I must write a "fake" title in English. I work with sites in Arabic and in Hebrew and this is the biggest difficulty I see when working on non English sites with Processwire. Even for an experienced user, this is an annoyance every time. For comparison, in WordPress I can have multilingual titles and URL's out of the box. This is an advantage WordPress has when it comes to international users. I would like to see this change, and perhaps help bring this change. What would it take for Processwire to support multilingual URL's and page names? What would be the best route to achieve this?1 point
-
Websites often provide content not only as on list of stuff, but with some sort of category. The most flexible way in ProcessWire to manage such a categorization are with PageFields. Form example with a structure like this. - Magazine (magazine) - Articles - Article 1 (article) - Article 2 - Article 3 - … - Categories - Category 1 (category) - Category 2 - … Templatenames in parentheses Now all articles have a url structure like: "…/magazine/articles/articlename/" The categories are looking like: "…/magazine/categories/categoryname/" But it can be useful to also provide the articles as part of the categories like this: "…/magazine/categories/categoryname/articlename/" Because ProcessWire doesn't provide such functionality by default, we'll use urlSegments. These have to be enabled in the template-settings for the category template. This template therefore fulfills two different jobs. Displaying a list of containing articles, as well as rendering the articles which are linked by the list. A simple example of a existing category.php could be: <?php // category.php $articles = $pages->find("template=article, category=$page"); // This example uses a deligated template approach. // Feel free to use your own way of templating, // but this is also a simple way to explain this. $content = renderArticleList($articles); include("./_main.php"); Now we need to include the logic to seperate the default rendered article-list to the now added rendering of the called article. <?php // category.php // Throw a 404 Error if more than one segment is provided if($input->urlSegment2) throw new Wire404Exception(); if($input->urlSegment1){ // Show the called article // Sanitize the input for pageNames $name = $sanitizer->pageName($input->urlSegment1); // Search for the article with this name $article = $pages->get("template=article, name=$name"); // Throw an 404 error if no article is found if(!$article->id) throw new Wire404Exception(); // Explicitly set the original url of the article for the <link type="canonical" href=""> tag $article->canonical = $article->url; // Render the page, like if it was normally called. // $page->url will not updated to the "categorized" url for the rendering-part // so you need to have that in mind if you provide some sort of breadcrumb echo $article->render(); }else{ // Show the list of articles of the current category $articles = $pages->find("template=article, category=$page"); // The generateCategoryUrls() function is new, because // $page->url would provide the wrong urls. // Details are provided later $content = renderArticleList( generateCategoryUrls($articles, $page) ); include("./_main.php"); } Now if we call this "…/magazine/categories/categoryname/articlename/" we'll get the right article rendered out instead of the article-list. Now we need to talk about the article-list, which would - without changes - still render the "wrong" urls to all those articles. Therefore I added the generateCategoryUrls() function. This function iterates over the pageArray and adds a second url to all those articles. <?php // part of _func.php function generateCategoryUrls($list, $category){ foreach($list as $item){ $item->categoryUrl = $category->url.$item->name."/"; } return $list; } The last thing missing is the actual template which gets rendered by renderArticleList(). This would normally call for $article->url to get the url to the article. We want this to render our second url if we are on a category site. To let the template still be useable by non category sites, we just change the parts, where to url is used form the current $article->url to $article->get("categoryUrl|url"). Only if the additional urls are provided they get rendered or it falls back to the normal urls of the articles. There we go, with such a setup all categorized articles are reachable via both urls. A small addition to explain the $article->canonical I used in the category.php. For SEO it's not good to provide the same content on multiple pages without explicitly declaring which of the duplicated ones should be the original / indexed one. By providing the following link tag we provide this declaration. The extra field I use isn't really necessary, because $page->url still is the standart ProcessWire url of the shown article. But I like this to be visibile in the code, that this is a dublicate. <link rel="canonical" href="<?php echo $page->get("canonical|url") ?>"/> Hope you like the explanation. Feel free to give feedback on this. Based on the example shown in the wiki: http://wiki.processwire.com/index.php/URL_Segments_in_category_tree_example1 point
-
Have updated Pia to 0.2.2 because she also was affected by the same issue as CroppableImage. Recent PW versions now (can) log modules API actions into logfile modules.txt. This is suppressed now. If you use Pia and a recent PW dev version, please update to 0.2.2. http://modules.processwire.com/modules/pageimage-assistant/1 point
-
Just tried and this while I was trying to get around ajax request and cover that too I discovered that there seems to be a bug when setting config from the session. (always those sessions ) https://github.com/ryancramerdesign/ProcessWire/issues/9151 point
-
netcarver, I love that project — can't wait to see the fill write up!1 point
-
1 point
-
Pretty old topic, maybe you figured it out already, but: You always need a wrapping class row when you use columns. You code should be: <div class='row'> <div class='medium-3 columns'> <div class='row'> <div class='small-12 columns'>content</div> <div class='small-12 columns'>content</div> <div class='small-12 columns'>content</div> </div> </div> </div>1 point
-
Just take a look a the form. cite, email, website, text & submit are the visible fields. Maybe there are some hidden ones, too. To submit a comment just send all those datapoints back to the current site as POST data. The easiest way to have this done by default would be a hooking module with a new javascript file. The hook would then append this js file on something like CommentForm::render(). But you would need to include $config->scripts, in your frontend templates. But keep in mind, that it's not only about submiting a comment. Normally this also includes displaying the new comment, which may in itself have consequences for some kind of pagination. So there's a little bit to think about.1 point
-
Cool book. Really loved the illustrations and commentary Thats a very diverse bunch of clients. Architect project sounds great. Lots of nice, massive images?1 point
-
As written a few posts above: In contrast to the new croppableimage module, thumbnails' getThumb() does not return a new image object, but only the url, so there's no need to call ->url on it. Enabling debug mode should even throw an error on this one.1 point
-
Just quickly. You should use $questionCat->find("template=faq-detail, include=hidden") Or same as only searching children $questionCat->children("template=faq-detail, include=hidden") since a children is already like a find it will ignore hidden and then you do a find on the results... doesn't work as you may expected.1 point
-
Hi Horst, I've used weighten in a newsletter tool for company logo's and it working great. Thanks again for implementing it !1 point
-
guys thanks for the replies and @horst I didn't know about the live headers plugin for firefox, next time this will allow me to debug. I gave this a try: I simply copied the .ogg file to another server and tried again. Now it's working ! html5 <audio> Player now shows up in firefox and plays the file. So it was definitely a server end problem on the host. I am going to install the live headers plugin and want to see the difference between both servers.1 point
-
Just made quite a bit refactoring on these modules and streamlined that it's totally same API usage no matter if you use "single product payment" like Stripe or "shopping cart, multiple products" like PayPal. Also PayPal payment verification is based on invoice id also, so you cannot spoof it with any earlier payment (earlier verification was amount only).1 point
-
Yes, that's the case, I'm building a filterable portfolio, so I need the categories only as content "selectors/filters". But maybe in the future I could need those category pages and then I would need to create them anyway so it seems a more versatile solution.1 point
-
Module will be updated soon... - remove FormHelper dependency - planned (optional) features email activation and honeypot to reduce spam registrations1 point
-
I like it, it's a good start I believe. Personally, I have some pretty basic code to handle all errors in a localized manner (Stripe only). I've been meaning to do something similar, but for the Subscription part of the API. Is that something you'd like to do or do you think it's out of scope? I ask that because subscriptions can be a lot harder to support.. when payment goes through it's all fine, but when cards expire, when people can't simply pay or else, it gets complicated.1 point
-
I use a mix of upper and lowercase for my field names. I should really settle on lowercase, I guess.1 point
-
Manlio, you know that if you don't change your avatar until the 60th post, the forum software will change it irreversibly to a random spice girl. You're dangerously close to it...1 point
-
Not sure it was mentioned somewhere, but I can't find a "cancel" button when on the Editor. I know you can just close the tab/window, but hey I had to think about.1 point
-
@kixe I forked your repo and made a few tentative commits. The results are here. Changes include more options for the backup period and a hookable filename generation method. I haven't submitted any pull requests as I unified the indentation and line endings first and you might not want those changes.1 point
-
@kixe Thank you for this module - I don't know how I managed to overlook it until now. It should come in very useful. Is there any chance you could either add an option to allow the automatically generated filename to include the creation date, or move the filename generation into a hookable method so people can supply their own name generator if needed? Regardless of the above request, thank you again!1 point
-
New addition to contain: weighten! If you want to put some images of different aspect ratio onto a webpage and you want that they are displayed more equal visual weightened, you can use this method and options now: . * contain with option weighten $image->contain('square=90, weighten=on'); . . There is also the possibility to prioritize portrait or landscape oriented images: . $image->contain('square=90, weighten=x1'); // landscapes are a bit larger than portraits $image->contain('square=90, weighten=x2'); // landscapes are a bit more larger than portraits $image->contain('square=90, weighten=y1'); // portraits are a bit larger than landscapes $image->contain('square=90, weighten=y2'); // portraits are a bit more larger than landscapes . . Have a look to this output here: . . . . . PS: @Martijn: I have taken your code for the calculations and set the percent value hard coded to 38. This way we only need to turn weighten on or off and have not to deal with values here. The only thing I have added to the calculation is an adjustment to fit better with the largest dimension into the initial bounding box dimensions. (Github)1 point
-
Yep, me and windows 3.1.1 are doing fine......1 point
-
1 point