Leaderboard
Popular Content
Showing content with the highest reputation on 01/28/2015 in all areas
-
About the Project This project is now online for some months and I'm happy to finally have the time and the customers approval to write about it. As some of you might know germany has one of the best health care systems in the world. If you live here you're enforced by the law to have a health insurance: As an employee you take care of choosing your "Krankenkasse" (health insurance provider) and your employer pays your dues to them like taxes. If you're selfemployed or earn more than "the average worker" you can also choose/have to get a private health insurance which (in many cases) covers more services (most people here for example know the "Chefarztbehandlung" which means if you ever need to get to the hospital your insurance guarantees that you will be treated by the head head physician). People who are are civil servants get something called "Beihilfe" from the state which partially covers your medical treatments costs depending on where you live / are employed at (the federal state), if you're married, have childs and a bunch of other factors. For the remaining rest you have to get a "Restkostenversicherung" which covers the remaining rest of your expenses for treatments. The problem with the "Beihilfe" system is: It's REALLY complex and you have to read a lot (or get help) to understand it's rules. That's why our customer, the Continentale Krankenversicherung a.G., one of germanys largest insurance companys, asked us and our friends from Aufgesang (a specialist agency for Online Public Relations, Content Marketing and SEO) to build a portal that informs potential customers and give them the posibility to get in touch with local experts. As a plus people who are interested in an insurance can calculate their costs without having to read through all official laws and brochures. There currently are three editors (all professional journalists) that constantly update content and write new texts to cover more in depth topics. Furthermore there are plenty of features that are planned to be released in the next years so the portal as a whole will continue growing and keep getting more usefull and hopefully get the #1 source of information for "Beihilfe" and "Restkostenversicherung" in Germany. <3 Processwire From a technical point of view there were many custom tailored things we've implemented in processwire. The Search uses a modified Version of Jonathan Darts excellent Elasticsearch Module (with a fallback to a basic text search in pw). We've created a lot of services and Tools to import Excel lists of experts and their coverage areas, complex rulesets for the costs calculation, a frontend calculation tool (built on top of Knockout.js), several HannaCodes to insert Download-Buttons and information within the content and last but not least a custom pdf-guide which is completely based on the users input and generated on the fly from the "Beihilfe-Rechner" (calculation tool). There also are mechanisms to inform experts when someone wishes to contact them, a newsletter service and many, many other things. Currently there are about 30 installed modules, 42 "Physical" template files (53 Templates all in all) ... and growing. I'm (still) really happy we were allowed to choose processwire for this project as we NEVER had any task we couldn't manage within the blink of an eye. If I think about having to build all those import tools in (i.e.) Typo3 I'm pretty sure we would have needed double the time. So once again: Thanks ryan and all contributors for building such an awesome piece of software. P.S.: We're currently searching for senior php developers to continue developing this and more portals and websites. If you're interested: Feel free to contact me! P.P.S: There are three more sites to come in the next weeks. I'll present them here as always12 points
-
DavidsonGalleries.com Well it has been a long time coming, but I am finally here, LAUNCH DAY! When I started this project I knew very little of php / css / javascript / mysql, but man have I learned a lot. Thanks to hard work, endless reading and always friendly assistance from this amazing community I have begun my dream of being a web developer. This site has all the bells and whistles (that I could manage). I custom built the site using the bootstrap framework and lashings of javascript. The site uses several awesome modules including : ProcessBatcher ProCache ImportPagesCSV AllInOneMinify BatchChildEditor ProcessRedirects FieldtypeCropImage PageListBetterLabels PageListShowPageId ProcessDatabaseBackups ProcessGoogleAnalytics ProcessLoginHistory ProcessLogs Seriously though, I want to thank more of you by name, but I'm going to have to go through my posts so I make sure to mention everyone. Thank you so much for your wonderful support, and I really would appreciate any feedback that you might have MuchDevelopment6 points
-
As a speaker of English as a second language, I really notice this quirky error. I notice it a lot in this community, in the blogs and forum entries, but also on official pages (the latest: The PW Directory, front and centre). "its" means the thing belongs to the thing. "it's" means "it is". The simplest test would be: assertTrue( "it is" == meaning_of( $phrase ) ); IOW, if you can write "it is" right there, it's OK to write "it's". Otherwise, always always write "its". Sorta grumpy today.5 points
-
After reading Include & Bootstrap on the ProcessWire website I coded a simple shell script for outputting page informations. Here is the GitHub repository with further informations and usage instructions. Long story short, you can do things like pw get "/" which outputs this: or pw find "template=basic-page,parent=/about/,sort=-id,limit=4" id template rootParent which outputs this: I don’t know if it is in any way useful, but I think it’s a fun way to output PW content and to quickly get to page informations in a rather nerdy fashion.5 points
-
If you have created your own ProcessModule for this, you can add the “permission” property to its module info. Only users with the set permission will load the module. The admin page will be hidden for everyone else. You can also set up your module so that it creates the permission on installation, and automatically removes it when it is uninstalled.5 points
-
This module works perfectly for exactly that scenario: http://modules.processwire.com/modules/admin-restrict-page-tree/ PS Not exactly an earth shattering 3000th post (how time flies when you're having fun), but hopefully helpful anyway5 points
-
I know a dutch forum where people correct spelling almost all the time. Those "you spelled this wrong" posts can take over whole threads, making the subject inferior to the tiny spelling mistakes. The place has become a childish playground for spelling purists in my opinion. Non-native English people participating here in the forum will upgrade their language skills, that's both code and language. What ever language boundaries there are, I hope people still post questions & answers.4 points
-
For some people it may be cool to run their own website on their own HW. But a PC is power hungry and some micros aren't powerful enough; therefore I tried to use a mini server with less than 5W power consumption. The setup: Linux (Pi: Raspbian/C1: Ubuntu) Apache2 + PHP5 MySQL + PhpMyAdmin NoIp2 (dynamic DNS client) PW (of course;-) PW is running OK on Raspberry Pi, but when you create a page with some images and resizing, you have to wait for the results between a couple of minutes and an hour; page rendering afterwards is within seconds. I wanted to try something quicker so I got an Odroid-C1 (same price as Pi - 35$) and the results are very good - C1 is about 6 times faster than Pi and after some configuring it runs stable and without problems. If someone's interested in details, don't hesitate to ask.3 points
-
Thanks @Mont. The corrected the unit test to: assertTrue( in_array( meaning_of( $phrase ), array( "it is", "it has") ) ); I had had it wrong, now I have it right right?3 points
-
I am one who is proud of his possessive S skillz. I do have to admit that the its is a hard one. Here is a good link that explains it. http://www.businesswritingblog.com/business_writing/2006/05/its_its_or_its_.html Now let's talk about had had.3 points
-
Ladies & Gents...it works now!!! Partehhhhhhhh Ok, literally one issue: installing in a subfolder. That's it! lol So as Mike (and later on SMO) suggested, I installed it on subdomain. I did had to # the symlinks thing, but of course, did that already in the earlier attempts. Turns out the htaccess.txt / .htaccess, wasn't a problem, good to have that confirmed. Maybe valuable to add this in the Troubleshoot Guide? That installing in a subfolder, instead of root (domain/subdomain), might actually be the problem-starter. Thanks Mike, Macrura, Pwired and Smo. I can smile again woohoo! @macrura: still planning to play with that bitnami stack3 points
-
I totally agree with Martijn when he says that the grammar/spelling correction shouldn't distract the reader from the actual topic of the thread. But if this was a german forum I would probably also get grumpy if the users would constantly spell the words wrong. So -as a consequence- I've decided to add a new forum-signature that first of all states that I'm a german speaker but also that I'm eager to learn and improve my english.2 points
-
And, just sayin', you yourself, Martijn, have taught a lot to the community w/ your generosity and code contribution. Have a drink on me. And SteveB, peak at this: Its only fare! [ deobscurifying left as a time-waster for the reader :^]2 points
-
Martijn, I totally agree, meaning and communication trumps grammar, and processwire stuff trumps anything else in this forum. Which is why I took this to the pub, not to actual work threads. And just in case this conversation takes a turn "to the right", as it were, i.e. with "shoulds" and flags flying for purity, I'll just state my intention clearly: Correct use of language is essential for computers to work, but not for people to work. I like that people correct my grammar in either case, because I like to learn, but I do get ticked off when they do so at the wrong time, distracting from the point I try to make. Peace and love.2 points
-
Nice one Pete. Eventually I'll revamp my website and sign up. In the disclaimer on the /developers pages, "innaccuracies" only needs one n. Kind of a shame to fix such a nicely ironic typo though.2 points
-
Ah, it seems that empty() is the culprit here, requiring write access to its argument. Have pushed the fix to the repo. Works on 5.4 now. (As for 5.3, I don't know yet, but it could well just be fine.)2 points
-
Hi Rinaldi! It need to be renamed to .htaccess. However: in an unix operating system, files are treated as hidden if they starts with a dot character. Rename htacccess.txt to .htaccess and display hidden files in your ftp-client (or what ever you use). I would also recommend you to work with a subdomain instead of using subfolders.2 points
-
Steve - thanks for the module - it has proven very useful, however I wonder if you'd consider having multiple rules so it would be possible to redirect some roles to one page and other roles to a different page, etc? I might end up making the changes myself and submitting a PR if you don't have the time to tackle it, but hoping you might2 points
-
Jumplinks for ProcessWire Latest Release: 1.5.63 Composer: rockett/jumplinks ⚠️ NEW MAINTAINER NEEDED: Jumplinks is in need of a new maintainer, as I’m simply unable to commit to continued development. Jumplinks is an enhanced version of the original ProcessRedirects by Antti Peisa. The Process module manages your permanent and temporary redirects (we'll call these "jumplinks" from now on, unless in reference to redirects from another module), useful for when you're migrating over to ProcessWire from another system/platform. Each jumplink supports wildcards, shortening the time needed to create them. Unlike similar modules for other platforms, wildcards in Jumplinks are much easier to work with, as Regular Expressions are not fully exposed. Instead, parameters wrapped in curly braces are used - these are described in the documentation. As of version 1.5.0, Jumplinks requires at least ProcessWire 2.6.1 to run. Documentation View on GitLab Download via the Modules Directory Read the docs Features The most prominent features include: Basic jumplinks (from one fixed route to another) Parameter-based wildcards with "Smart" equivalents Mapping Collections (for converting ID-based routes to their named-equivalents without the need to create multiple jumplinks) Destination Selectors (for finding and redirecting to pages containing legacy location information) Timed Activation (activate and/or deactivate jumplinks at specific times) 404-Monitor (for creating jumplinks based on 404 hits) Additionally, the following features may come in handy: Stale jumplink management Legacy domain support for slow migrations An importer (from CSV or ProcessRedirects) Open Source Jumplinks is an open-source project, and is free to use. In fact, Jumplinks will always be open-source, and will always remain free to use. Forever. If you would like to support the development of Jumplinks, please consider making a small donation via PayPal.1 point
-
This Module didn't have it's real own thread, now it has Markup RSS Enhanced This Module is the enhanced version of Ryan's Markup RSS Module and is completely compatible with it. In addition, this enhanced module supports the usage of enclosures a way of attaching multimedia content to RSS feeds. Give the RSS enhanced module a PageArray of pages and it will render a RSS feed from it. The Module should be used directly from your template file. In the examples the $rss variable is used for as instance of the module. $rss = $modules->get("MarkupRSSEnhanced"); Basic usage In case you only need 1 feed for your site, you need to setup the defaults in the Modules config. then you can use the code below. $items = $pages->find("limit=10, sort=-modified"); // $items, PageArray of Pages $rss = $modules->get("MarkupRSSEnhanced"); // load the module $rss->render($items); // render the feed Setup channel elements The channel element describes the RSS feed. There are 3 required channel elements: title $rss->title link $rss->url description $rss->description $rss->title = ''; // (string) Title of the feed. $rss->url = ''; // (string) URL of the website this feed lives. Example: http://www.your-domain.com/ $rss->description = ''; // (string) Phrase or sentence describing the channel. $rss->copyright = ''; // (string) Copyright notice for content in the channel. $rss->ttl = ''; // (string/integer) Number of minutes that how long it can be cached. Setup item elements Every page from the PageArray use the item element. $rss->itemTitleField = ''; // Fieldname to get value from $rss->itemDescriptionField = ''; // Fieldname to get value from $rss->itemDescriptionLength = ''; // Default 1024 $rss->itemEnclosureField = ''; // Fieldname to get file/image from $rss->itemDateField = ''; // Fieldname to get data from $rss->itemLinkField = ''; // Fieldname to get URL from or don't set to use $page->httpUrl $rss->itemAuthorField = ''; // If email address is used, itemAuthorElement should be set to author $rss->itemAuthorElement = 'dc:creator' // may be 'dc:creator' or 'author' Item element enclosure RSS enclosures are a way of attaching multimedia content to RSS feeds. All files with proper mime types are supported. If you asign an image field to the itemEnclosureField there are 3 extra options you could set. width The width of the image. height The height of the image. boundingbox Checking boundingbox will scale the image so that the whole image will fit in the specified width & height. This prevents cropping the image $rss->boundingbox = 1 // (integer) 1 or 0, on or off $rss->width = 400; // (integer) Max width of the image, 0 for proportional $rss->height = 300; // (integer) Max height of the image, 0 for proportional Prettify the feed Prettifying the feed is not supported by all clients. $rss->xsl = ''; // path to xls file $rss->css = ''; // path to css Download on GitHub View on the modules directory1 point
-
There is a user role which is used for content editing. In my local testing, contact form submission result will be stored as page and use admin process to display the result. Since the admin process all bind to a admin template, if I give rights to a user role, all other admin page will be view by that role. And this is not I wanted to. How to give access rights for a admin process, in my case, is the form submission result Editor role access pages only I want the Editor role able to access the form result1 point
-
I just migrated three of my projects from MODx Evolution to Processwire. The sites itself are not that spectacular but I am a little bit proud that writing a migration script with PW is so damn easy! So I just wanted to share some thoughts how I realized it. Since the projects are very small and have only a few templates and fields it was very easy to set up templates and fields for these three in the PW admin interface (btw: I really like the possibility to export and import fields via the admin!). Template files were more or less a simple copy paste from the MODx backend to the PW templates files. After transforming the MODx placeholders and all that MODx related stuff in "PW language" and after setting up all fields I imported the MODx database tables into my PW database. From this point the migration script started it's work: Step 1: Map existing MODx templates to my newly created PW templates Step 2: Map all necessary fields from MODx to PW fields (based on the previously selected templates) - or just ignore fields I don't wan't to migrate Step 3: List all existing pages and select the pages that should not be migrated (e.g. old sitemap page). From this point on my migrator script did all the work. It created all pages (including the site structure with all its parents and children) and their fields. After importing I just had to copy the content from the old homepage (which was created as a seperate page below the root page) to the root page. That's it. Moving projects took about 1 hour. The most extensiv part in this process was to transform MODx templates to PW, build a new contact form and a menu function. All my projects were without users and permissions so it was quite low easy. At the moment I am working on the migration of a more complex website. This will take much longer but since the PW API is totally easy to understand it's not that hard at all. So thank you all for this great support and this framework! I really appreciate it! Long story short: Here are ex-MODx websites proudly powered by Processwire My own website with some stuff about me: http://brlnr.de And two more sites about events around sailing in Berlin http://www.ansegeln-berlin.de/ http://www.absegeln-berlin.de/1 point
-
Thanks for sharing. Just cross-referencing with this other similar topic: https://processwire.com/talk/topic/4125-raspberry-pi-with-apache-and-processwire/1 point
-
We all learn with each other. Even the forum itself learns with each one of us ps: Sorry Martijn, I couldn't resist1 point
-
Yeah, I have just managed to pull up a couple of posts, but so far the most useful might be a bit old - depends how much the htacess file has changed over the years.1 point
-
AH, it says file does not exist!!! So, we have to use path instead of url, I think. // not ->urls $AlphaImageUser = "{$config->urls->assets}images/authorwmk/swmb-{$username}.png"; // but ->paths $AlphaImageUser = "{$config->paths->assets}images/authorwmk/swmb-{$username}.png";1 point
-
My intension is not to dislike your post, actually the opposite is true. This conversion is just an opening for me to tell people "don't let language be the factor not to post". Personally I'm not good with words and will never be, but the ProcessWire forum has learned me a lot.1 point
-
I don't think that was the point rajo was trying to make. We should try to write correct english the same as we try to write correct code.1 point
-
LostKobrakai, Forgot to mention, the reason it's all returning markup is that when I build the form, the comments get added like so: // Comments $field = $this->modules->get("InputfieldMarkup"); $field->markupText = $this->renderComments($page); $form->add($field);1 point
-
That's the beauty of ProcessModules...you can pretty much throw anything at it and it will output it....plain HTML, whatever. I have had a quick look at the code and it's pretty much plain HTML in many places...added to that, some CSS to style it...1 point
-
I haven't had a chance to play with this yet, but I know it will be used on an upcoming site - just wanted to say how great it looks and most importantly how impressive the documentation looks to be - love the use of Github wiki!1 point
-
In a way it's sad that companies praise the way of reinventing the wheel. But that's business.1 point
-
ah ok. Well, I already made something 90% similar for the previous version (but plain code no module) so I know exactly the complexity...in worst case I will do it by myself... and maybe share it to the community1 point
-
I can't: The source is owned by the customer we've done it for. It was just meant as a general hint to think about the complexity of this.1 point
-
Hi Henning, this feature (connecting to other PW installations within one script) is on the Roadmap for 2.6 or 3.0. But for now you should go with Module Webservices, that's how it is done normaly I think. https://processwire.com/talk/topic/1654-pages-web-service-servicepages/1 point
-
Don't you still want to hide the main page tree and redirect them to them to your Form Result Process Module, or did I misunderstand? Anyway, that is what the module from netcarver, wanze, and kongondo will do - of course you still need to assign the permission to view the page like Jan showed. Actually, re-reading your first post now, maybe you didn't want to hide everything else at all - maybe my 3000th post wasn't helpful at all - oh well, can't win them all1 point
-
@Rinaldi, why not try the bitnami stack, make your site and then once it's done come back for some instructions on how to take it live?1 point
-
I knew ngrok, but not this one. @yellowled try this: lt --port 80 --subdomain notclumsy1 point
-
@loopyloo As you are a coder you could always fork the blog repo, make improvements and submit a pull request back to kongondo's repo.1 point
-
If your question, it is about how to display images in tweets, the default module markup does not handle images. But that is not hard to do: you have to use a foreach loop to iterate over the tweets and create your own markup inside the loop, like in the example in the readme. $t = $modules->get('MarkupTwitterFeed'); $t->limit = 3; foreach($t as $item) { echo "<p>$item[text]<br /><span class='date'>$item[created_at]</span></p>"; } For the internal structure of twitter media, you can have a look at https://dev.twitter.com/overview/api/entities-in-twitter-objects1 point
-
Hi! It seems to me that the page you are calling with the method numChildren() from your template may not exist. But, I guess, I cannot point out where exactly is the problem, until I see the code My procedure of moving to the live server is a bit different. On the live server I install a clean PW, then I move my templates there and create a backup of sql using ProcessDatabaseBackups to import it back on my live server. Yeah, more steps to do, but works for me Greeting from Lithuania.1 point
-
Here's a nice little PW story. Working on a large-ish PW site at the moment. I'm not dealing directly with the business owner right now. Rather, my contact & client is a friend of the business owner. Having provided him with login details and a PW admin account, we agreed that the business owner should not yet be given login details. We've a few months before training is supposed to begin and site needs a little back-end housekeeping. IE fields need to be labelled correctly templates named more sensibly etc. I discovered recently that the business owner had prematurely been given login details and is already making content changes. This is so contrary to my client experiences with other CMS's that it's cheered me right up. Normally, even after extensive training, clients can choose the wrong templates have problems uploading and adding images generally have *some* issues adding content This is not a fault of the client but rather a problem with the CMS thats built for technical end-users instead of content editors. It just confirms to be completely why PW is the right CMS for this site. And BTW, the business owner isn't very tech-savvy and has never used a CMS before.1 point
-
I have found that building sites with other cms's in the end it is often a case of trying to somehow remove all the other parts in the admin that are not needed. With Processwire it is the total opposite. When building the website the parts that are needed are just naturally built up in development with no added clutter or unneeded features to confuse the client.1 point
-
Here is a quick screenshot of an admin page we use to manage the initial hiring process of new employees. The module hooks into FromBuilder and pulls in entries that are associated with the page. So all the information on the left is from a FormBuilder entry, the sidebar is a little more typical and just made up of the fields assigned to the template. I'll post more about that later. We don't allow users to edit the comments, because they are part of the document trail, but they have a chance to review them in a modal before the actual submit happens. The "notify of comment" pulls in a list of people with particular roles. I'll post the code a little later, I need to put out a small fire first.1 point
-
In September 2014 the new wirePopulateStringTags() function was added to the core. Looking at this it appears to be a great foundation to introduce some sort of placeholder functionality into ProcessWire. Is there a TextFormatter module planned to utilize this new feature or maybe even some form of integration into the Hanna code module so that placeholders can be passed as Hanna code attribute values?1 point
-
Hi, Another way to do this is to use subselectors, which were introduced in Processwire 2.5. The code would then be: $pages->find("parent.id=[pagefield1.pagefield2.field=value]"); I love subselectors...1 point
-
Might not be as comfortable as similar solutions mentioned here (the generated subdomain URLs are pretty long and clumsy to type on mobile devices), but http://localtunnel.me is another node.js thingy to forward your local dev server.1 point
-
My setup is very different. I do all my web development work online using Dedicated servers. I create a development domain environment for each client and they have access to review the website work as it's being done. This works great for me since the transition from development to production is minimal. I brief each client on an at least weekly basis (online meeting, via phone or in-person) on the topics that are important to them. Each of my clients has 24 hour access to a customized project management website (Processwire based & still under constant development: i.e. alpha status). I make use of the client project website, Evernote (shared notebooks) and Dropbox (shared folders) to maintain all client related work and documentation. I work to ensure that the 3 systems stay linked together in a cohesive manner. A majority of my clients are not associated with any web development work, however I make sure they are familiar with ProcessWire through the client project websites. They get to see and work with the front-end/back-end (Admin) sides of ProcessWire on a constant basis.1 point
-
No need for blank profile. Just replace site folder and import db. There will be no fields or templates from default... you replace them.1 point
-
I'm building up a ProcessWire boilerplate for quick starting the post-installation work. I've got a basic .gitignore which covers ProcessWire ignores, as well as other ignores for the rest of the project. You can find it here: https://github.com/fixate/pw-boilerplate/blob/master/!root/.gitignore It's based off of Ryan's SkyScrapers .gitignore: https://github.com/ryancramerdesign/ProcessWire/blob/master/.gitignore but keeps certain files, such as .htaccess (we use a custom one which extends ProcessWire's with H5BP's), in the repo so that they are available to team members. For this same reason, we never ignore .gitignore itself; it must be available to all team members. You can safely remove the styleguide and Grunt stuff if they're not part of your projects.1 point