Leaderboard
Popular Content
Showing content with the highest reputation on 04/22/2014 in all areas
-
OK, you PW guys and girls: I am sure most of you know that Kongondo had a previous CMS "relationship" before ProcessWire. Kongondo was a major force in the MODx forums for quite a while. In the Evo days there was constant shrill barking for better documentation with MODx. All CMS systems have this issue. Kongondo produced this massive tome called "The 'almost' complete guide to creating menus in MODx using Wayfinder". This was simply epic in my humble opinion. Wayfinder is an amazing system for generating all kinds of menus in MODx. I downloaded this massive PDF file and had it printed and bound at my local office store. I then sat up reading this thing at night for more nights than I care to remember. My wife thought I was crazy. But the content, examples and guided projects was really a class example of software instruction at its best. This guide was HUGE in my journey through MODx. I learned to build some very cool menus systems with this volume sitting on my desk. We recently moved into a new house and I just found this today. Not to embarrass Kongondo but I had to share and say thank you!14 points
-
Ah, Max, people, you embarrass me! Seriously though, thanks for the comments. This was my one-hit-wonder . There were days when you typed 'kongondo' in Google it would suggest 'Wayfinder'. I think this is because it had been downloaded so many times. I stopped counting when downloads hit 10,000. Even so, I still get PMs from the MODx forums - people asking me for help with Wayfinder! OK, enough chest thumping! @Max, it looks nice bound like that. I never got round to making one for myself. @Teppo: The reasons why the guide was 'massive' were: Detailed explanations about HTML, CSS, some MODx concepts, Wayfinder, code examples, etc plus I talk too much! It took me the better part of 6 months to finish! (IIRC)....The Susan mentioned above expressed similar sentiments to yours. @Adrian: As for a similar thing for PW, I don't know. But yes, PW is much easier. Everything is in the API! I think the alternative I have taken is to write tutorials instead.....if I can find the time for my website! . @Soma, you are partly to blame, hehe! . Your modules, code in the forums and in your Gists have inspired me to love and learn PW and PHP more and more...so very little time for tutorials Cheers10 points
-
Yeah I'm still waiting for kongondo to write the definitive guide to MarkupSimpleNavigation7 points
-
Call me overly cautious, but I'd advice against self-managed VPS if this service needs to be highly secure and especially if you need a high level of availability. Anyone can manage a server when things go smooth -- install updates, add a few rules to a firewall and tweak Apache/PHP/MySQL settings. The real question is how well can you handle things going wrong; someone attacking your server, hardware or software failures (hardware issues are still very real even in this age of cloud computing, I'm afraid), restoring corrupted data etc. What about availability requirements -- do you need high availability and 24/7/365 support.. and if, can you really provide and guarantee that? A lot of time I'd recommend going with managed solution in one form or another rather than trying to do everything yourself. It depends a lot on the requirements and the nature of the service you're running, but the bottom line here is that unless you can guarantee that you're able to handle everything yourself, don't make any promises to the client you'll end up regretting.6 points
-
This is specific to any CMS or software you might run on a server (not just ProcessWire). When it comes to the security of the hosting, I prefer something dedicated (VPS or dedicated) so that you don't have multiple websites (managed by other users) sharing the same file system. When you are dealing with a shared file system, you've got more to consider when it comes to the permissions of files and such. You need to make sure that the permissions settings you've chosen for uploaded files and such is not going to give other accounts the ability to change them. You are also likely sharing MySQL instance with other users in a shared environment as well, so there's that matter of resources being shared. You can certainly secure the shared environment just as well as the dedicated one, but it'll take more work and monitoring. Shared hosting environments also represent a bigger prize to hackers, so that seems to be where they prefer to focus their efforts. I would go with a managed dedicated or managed VPS. For example, I think all the servers available from ServInt are managed (I know this one we're on right now is). One other recommendation would be to isolate your software. Don't run WordPress and ProcessWire from the same account if you don't have to. WordPress is always a target, and if you get broken into that way, then you could create problems for everything else running on the same account (this is not uncommon with WordPress at least).5 points
-
Two thoughts: writing something like that is simply awesome and an exceptional example of the kind of things devoted community (and a devoted member of that community) can do for an open source project.. yet at the same time the idea that one would need to read a book in order to create menus sounds kind of scary Of course I've no idea of the actual context here, what this Wayfinder is etc. so I guess it has to be about a lot more than just adding some navigational elements. It has to be, right?5 points
-
That sounds like a really interesting project Some measures you can consider: Session inactivity timeouts. Force regular password changes and/or use 2-factor authentication. Use SSL. Ensure users can only access the data they are allowed to. Not just through interface options, but URLs as well. Look at the hosting infrastructure. Credentials to access it. Who has access? What about your provider? Where is your database is stored? (Shared hosting? Easy to guess credentials?) Look at how data is imported and exported within the system. Is it possible to bypass any validation or auth checks? Forms. They should definitely be using CSRF protection. Can user input be overloaded? That is, can I submit additional form values that the system doesn't check or expect, but still get saved to the DB. Logging. Log as much as you can in order to provide an audit trail. It is guaranteed that somewhere down the line, someone will ask the question "When did this record change to this value and who made the changed?" Backups. Hopefully the data will be backed up. How easy and quick can this be restored? What granularity? User education. Some users may need it explaining to them that sharing usernames and passwords, or writing them down, is not good practise. There are probably some additional things - that could start getting into the realms of penetration testing - but that's a summary things I can think of in a short time4 points
-
What I would do, is replace the Save button with two separate buttons: "Save (Major)" and "Save (Minor)". Accent/highlight these as you see fit. The click action of either one would be caught by javascript, where you can then add a hidden field to the page to set the value of major or minor. Then submit the form. The module would hook into the save process to do the actual incrementing of the field value. The action is clear either way. There are no number fields for them to screw up (which they would, somehow) No annoying modal box gets in the way.3 points
-
3 points
-
"protected" means it's well "protected" I never use or used the var_dump to inspect PW vars or objects. It is just too messy and often leads to more confusion or wrong assumptions and ways to retrieve something that there may already a API method for that. Looking at a var dump doesn't tell me that. What I do is think of what I'm dealing with and look in the classes according to see what public methods there are I could use. Pageimages are special objects, containing your image(s) as Pageimage which extends Pagefile. Pagefile can be images or files. I look at wire/core/Pagefile.php Pagefile contains a get() method that allows to get the Page the (single) image object is from. https://github.com/ryancramerdesign/ProcessWire/blob/master/wire/core/Pagefile.php#L140 So this gets me the page $p = $img->get("page"); equals to without get() $p = $img->page; This doesn't mean there's a object->page, but rather a magic get method mapping the call to a get("page") You can also get the Pageimages from a single Pagefile $pagefiles = $img->pagefiles; That gives all the other images/files from the same field (in case there's any) Pagefiles also has a method to get the page with a public method for example $p = $img->pagefiles->getPage(); https://github.com/ryancramerdesign/ProcessWire/blob/master/wire/core/Pagefiles.php#L81 So tons of ways and option, and none of it you'll get to know when doing a var_dump.3 points
-
Can't write a guide for a module that has the word "Simple" in the title @kongondo - you'll need a bigger hat if these guys carry on much longer3 points
-
https://processwire.com/talk/topic/4323-field-dependencies/page-5#entry450332 points
-
Charles, Soma's code above was just an example of how you can use the API to build a form, not a firm recommendation of how forms should be built. By all means, go ahead and build a normal HTML form, style it as you wish . PW will not get in your way at all. As someone new to PW, I'd encourage you to (atm) stay away from such advanced code and instead focus on the basics of PW. Later, once comfortable with the API, you can have a go at using more advanced features of the API. Once you've built your HTML form (or whichever other way you do it), the 3 vital things you need to do/think about are: 1. Where is the form input sent? - this needs to be a PHP file server side, waiting for that form button to be pressed 2. Grabbing and SANITIZING (am not shouting; just emphasising ) the data sent by the form 3. Doing something with the SANITIZED values - typically you will want to save them to a database. In between, there are other things like client-side validation of the form, form submission feedback, etc. Validation will also be done via 'sanitizing'. For #2, read the below thoroughly: http://processwire.com/api/variables/input/ http://processwire.com/api/variables/sanitizer/ Get your head round that first - it is probably the most important of the above 3. Clicking a form submit button is easy; what to do afterwards is the main work... Hope this helps!2 points
-
Teppo - just saw this somewhere on the ADLDAP site: $adldap->user()->usernameToGuid(); I hadn't realised but most of the ADLDAP functions for users seem to be able to substitute the username for the GUID, so that helps avoid issues with changing usernames!2 points
-
We use Shibboleth for authentication here. The University handles how that integrates with AD, but once authenticated the environment variables give me access to a ton of attributes. I wrote a shibboleth login module for ProcessWire that we've been using for a few years now (a few months after I started using ProcessWire). In my case the username is actually a unique ID set by the university. I'm not entirely sure if/how that is integrated with AD behind the scenes, but it never changes, even if you move from student to faculty/staff. Users actual names and other personal details can change, and they are automatically updated with every login. It also allows me to test for membership in and OU/Group and assign roles/permissions. So when a user is added/removed from a group in AD their PW settings are updated too. This happens at every login, and also twice a day via cron. I've thought about turning this into a configurable module, but haven't stumbled into any spare time lately. Lots of Universities in the U.S. use Shibboleth, so a module would go a long way towards ProcessWire adoption — especially considering all the other major players have Shibboleth modules/plugins.2 points
-
That post was a while ago now. Maybe things has changed a bit. Just scanned the licence quickly and there seems to be a slight change if i am correct Before as shown in the old post: The OEM License is limited to one year from the date of purchase. Now on Redactor Licence: Support for the holders of the OEM License is limited to one year from the date of purchase. The OEM License: Holders of the OEM License may use the Software as if they had the Professional license. In addition, OEM License holders are allowed to sell or otherwise distribute the Software to the developers and not only to the end users. The OEM license allows license holder’s clients to develop their own products based on or containing Software. The OEM License holder’s clients do not have to obtain their own Professional or OEM license. The OEM License holders are allowed to integrate the Software with open source products. However, neither license holder nor license holder’s clients can sell Redactor as a sole product (with or without modification); License holder and license holder’s clients should use it fairly; Imperavi LLC still holds all the copyrights for Software code, Software code does not become open source, and we solely determine "fair use" of the Software. Support for the holders of the OEM License is limited to one year from the date of purchase.2 points
-
I'm a little surprised as this example comes from Ryan. The closing ) is something that happens all the time even to those into programming, but usually an error indicates that there's something missing. Well there seems to be a problem with the if($parent->child(....)) { ... } It will always resolve to true, even if no page with that title found. This is because such a search will return a NullPage object if none found. In a if() this will resolve to true. You'd have to add a little more to check if a page was found, like test for the id. if( $parent->child("title=" . $sanitizer->selectorValue($email))->id ) { ... } Now this works.2 points
-
Wow kongondo - I have always thought of you as one of the most productive and prolific writers on this forum, but now I am wondering what's been going on - after seeing this, it seems to me you've gotten slack since coming over to PW. It's either that, or just that PW is so easy by comparison with MODx that a tome is not needed. Which is it ?2 points
-
@Craig A Rodway, you covered the essentials very good. The client/company should have in existence a written, well documented and enforceable Data Access Policy. This covers what are the approved or disapproved uses of the system. The policy would also state explicitly most of what Craig A Rodway has already written. A good system would have initial training on Data Access (Policy manual, Video Review, Classroom training) where the main points are gone over. You would have a signature of acceptance and provide either semi-annual or annual recertification of the user's acknowledgement of understanding the Data Access Policy. Where logging is concerned, there needs to be a policy where someone actually reviews the logs (to include a written certification of review). The same goes for testing the backup/restore process. It must be a valid and frequently tested system (to include a written certification of acceptable testing results). Make sure that users who use the system but also have backend administrative responsibilities, have separate accounts for each function. Setup alerts/alarms for certain critical administrative actions that report the action being taken. These alerts/alarms would go to the system administrator and other trusted individuals who are outside of the normal system administration realm. The system administrator needs to know the alert/alarm system is working, Someone other than the system administrator(s) needs to be aware of what critical changes are being made to the system This alleviates anyone gaming or deliberately sabotaging the system. Basically a good system is based on trust and adequate verification techniques. Good luck on your project because the human factor is the achilles heel of any information system.2 points
-
This thread is used as a place to collect: 1. links to posts in the forum answering (repeating) newbie questions 2. links to posts in the forum and elsewhere on the net giving good insight in processwire 3. links to good articles about processwire 4. links to good tutorials posted in the forum 5. links to movie clips 6. links to posts in the forum talking about modules 7. code snippets or links to code snippets 8. Usefull Helpfiles Many good posts that answers (repeating) newbie questions or give good insight in the how and why of processwire, links to tutorial posts, (also on the net), movie clips, clarifying articles and code snippets are spread over the forum. PM me if you know a link. About this kick start see this post: http://processwire.com/talk/topic/4143-wordpress-dominates-19-of-the-web/page-2#entry40910 This is a work in progress, it takes time to make it grow bigger and better. = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = STARTING NEWBIES AND DESIGNERS Link1: Starting and growing with processwire. https://processwire.com/talk/topic/3990-another-simple-photo-gallery-tutorial/page-4#entry61069 Link2: I am basically a designer with some programming skills. My question is this: Can I go ahead to use processwire for this even though i am still learning php. http://processwire.com/talk/topic/3954-starting-out-with-website-intranet-and-internet/ Link3: Feeling overwhelmed http://processwire.com/talk/topic/3215-newbie-overwhelmed/ Link4: Questions concerning PW and it's capabilities http://processwire.com/talk/topic/1557-questions-concerning-pw-and-its-capabilities/ NEWBIES FIRST CODING QUESTIONS link1: Using a default install, I'm stepping through the tutorials, templates, etc and trying to understand the basic concepts behind processwire and at this point in time "head.inc" & "foot.inc". http://processwire.com/talk/topic/3421-footinc/ Link2: I am puzzled why some html tags are starting in head.inc but don't end in head.inc Instead they are ended in foot.inc http://processwire.com/talk/topic/3388-question-about-headinc-and-footerinc/ Link3: Question about not using ?> in processwire http://processwire.com/talk/topic/3370-question-about-missing/ Link4: After you installed processwire, it comes with a default website. What is the best way to fill in your own website ? How do you replace the default processwire website with your own ? http://processwire.com/talk/topic/3379-how-to-fill-in-your-own-website/ Link5:How much extra work/time will I have to put in, as far as understanding and writing php and getting the hang of the PW system, just to be able to create the same responsive designs I would make in HTML/CSS/Javascrip, while also achieving the easiest type of content editing capabilities (in line with what you can get with a CushyCMS type product)? http://processwire.com/talk/topic/3961-new-to-cms/ Link6: I realize what I am confused about was really something quite basic, such as where are the snippets of php code go beside on templates? Can they go on a page as the value of body field for example? http://processwire.com/talk/topic/3383-back-to-basic/ Link7: I'm stuck in something that should be very simple. http://processwire.com/talk/topic/3720-my-first-doubt-using-pw/ Link8: Several questions before I can start. http://processwire.com/talk/topic/3589-several-questions-before-i-can-start/ PROCESSWIRE CMS INSIGHTS Link1: Reading this thread makes you understand processwire real quick. http://processwire.com/talk/topic/5667-help-a-noob-get-started/ Link2: Very good case study from RayDale giving good insight in processwire http://processwire.c...a-a-case-study/ Link3: Symphony or Processwire ? Another good insight. http://getsymphony.com/discuss/thread/79645/ ARTICLES Link1: Why he choses processwire over modx http://www.mademyday.de/why-i-chose-processwire-over-modx.html COMING FROM MODX ? Link1: You've been using MODX but now you've found ProcessWire. It’s totally amazed you and you can’t wait to get started. But…you are wondering where everything is. If this is you, read on… http://processwire.c...ning-from-modx/ Link2: A MODX refugee: questions on features of ProcessWire http://processwire.com/talk/topic/3111-a-modx-refugee-questions-on-features-of-processwire/ Link3: Code comparison between modx and processwire. http://processwire.com/talk/topic/2850-processwire-for-designers/page-2#entry30349 COMING FROM DRUPAL ? Link1: How to move your site from Drupal to ProcessWire. http://processwire.c...ndpost__p__8988 PAGES IN PROCESSWIRE Link1: Understanding pages in processwire http://processwire.com/talk/topic/5667-help-a-noob-get-started/page-2#entry55820 Link2: More about the function of pages in processwire http://processwire.c...fused-by-pages/ Link3: How to hide Pages from the Topnavi via Adminmenu http://processwire.com/talk/topic/2037-how-to-hide-pages-from-the-topnavi-via-adminmenu/ TEMPLATES IN PROCESSWIRE Link1: A good post with code examples to start a template http://processwire.com/talk/topic/43-template-tutorial/ Link2: Template design a better route http://processwire.com/talk/topic/2782-template-design-better-route/ Link3: A different way of using templates http://processwire.com/talk/topic/740-a-different-way-of-using-templates-delegate-approach/ FRONT-END / BACK-END Link1: ProcessWire Setup and front-end editing made easy http://processwire.com/talk/topic/2382-processwire-setup-and-front-end-editing-made-easy/ Link2: Creating a front-end admin http://processwire.com/talk/topic/2937-creating-a-front-end-admin/ Link3: How would I build functionality and write information from the front-end to the back-end? http://processwire.com/talk/topic/2174-writing-from-front-end-to-back-end/ Link4: Is it possible to create a custom login page like a template ? http://processwire.com/talk/topic/107-custom-login/ Link5: A "members-only" section in the front-end. Integrating a member / visitor login form http://processwire.com/talk/topic/1716-integrating-a-member-visitor-login-form/ Link6: Trouble deleting pages from the front-end. http://processwire.com/talk/topic/2290-trouble-deleting-pages-from-the-frontend/ MODULE Front-end Edit. It turns the content of $page->body into a clickable area and gives the ability to frontend edit the content via tinyMCE http://processwire.com/talk/topic/3210-module-frontend-edit https://github.com/Luis85/PageInlineEdit/ MODULE Fredi, friendly frontend editing. http://processwire.com/talk/topic/3265-fredi-friendly-frontend-editing/?hl=fredi http://modules.processwire.com/modules/fredi/ MODULE Admin-bar Provides easy front-end admin bar for editing page content in ProcessWire 2.1+. http://processwire.com/talk/topic/44-is-there-way-to-get-information-about-current-user-in-templates/ http://processwire.com/talk/topic/50-adminbar/ http://modules.processwire.com/modules/admin-bar/ MULTI LANGUAGE WEBSITE IN PROCESSWIRE Link1: Multi-language website page names / URLs http://processwire.com/talk/topic/2979-multi-language-page-names-urls/ Link2: API http://processwire.com/api/multi-language-support/multi-language-urls/ Link3: The name of the default language can't be changed in Pw, but the title. http://processwire.com/talk/topic/4145-recoverable-fatal-error/#entry40611 ADD NEW USER TO YOUR WEBSITE AND PASSWORD RESET Link1: Integrating a member / visitor login form http://processwire.com/talk/topic/1716-integrating-a-member-visitor-login-form/?hl=%2Bpassword+%2Breset#entry15894 Module http://processwire.com/talk/topic/2145-module-send-user-credentials/?hl=%2Bpassword+%2Breset BASIC TUTORIALS FOR NEWBIES Link1: Approaches to categorising site content http://processwire.com/talk/topic/3579-tutorial-approaches-to-categorising-site-content/ CODE SNIPPETS AND FUNCTIONS Link1: Get page id from images object https://processwire.com/talk/topic/6176-get-page-id-from-images-object/ Link2: Function to render Bootstrap 3 carousel markup from ProcessWire images object https://gist.github.com/gebeer/11200288 .HTACCESS EXAMPLES ON YOUR HOSTING SERVER Example1: A working .htaccess file. The issues were that the .htaccess file must exist on the server before installing processwire and that the server did not allow options in the .htaccess file. After fixing that processwire could be installed on the server without any problem. Note that such restrictions might be different on your server that you need to find in the faq of your host. RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?q=$1 [L,QSA,NC] HTML KICKSTARTER Link1: How can i integrate HTML Kickstarter with processwire? http://processwire.com/talk/topic/2731-how-can-i-integrate-html-kickstarter-with-processwire/ MOVIE CLIPS Field dependencies are coming in ProcessWire 2.4. Field dependencies are basically just a way of saying that one field depends on another. It dictates which fields should be shown in a given context. https://www.youtube.com/watch?feature=player_embedded&v=hqLs9YNYKMM HELP FILES Cheatsheet Link1 Cheatsheet 1.1 as pdf file Download: http://processwire.com/talk/index.php?app=core&module=attach§ion=attach&attach_id=1299 Link2 Cheatsheet is now a processwire site (great work by Soma) http://cheatsheet.processwire.com/pages/built-in-methods-reference/pages-find-selector/ INTERVIEWS Link1: About the history and coming to be of processwire http://processwire.com/talk/topic/4084-about-ryan-and-processwire-an-interview-with-ryan-cramer/1 point
-
Let me give you a bit of insight on my latest project: http://dreitagewoche.de It is a weekly updated, hand crafted event calendar for Hamburg in Germany. Its team looks for the most appealing events every week and collects them for the three days of the week that really matter: thursday, friday and saturday. It features parties, exhibitions, concerts, festivals, theatre and everything else a bit of the mainstream. On the technical part (it uses PW 2.3): Single events can occur on multiple dates and support a link to a location (page) with Google Map coordinates. Beside events we support blog-like entries and regular pages and other stuff. Events are displayed based on their date, showing up in an archive when they aren't up to date anymore. This method also allows for a custom preview of all upcoming entries for the editors. I make use of template caching which speeds up the page remarkably. Beside that I am using some modules, including twitter feed, soundcloud embed, vimeo & youtube embeds. The backend is modified using admin custom pages module which allows me to tailor pages showing only upcoming events or locations. With around 30 pages added every week this was crucial. Overall I am very pleased with PW: It performs well, is easy to develop even with nested data and is fast and intuitive enough on the backend. And a full deployment means basically just a few clicks and a coffee while it is uploading. One thing that did trip me was customizing the backend and actually the obvious need to do it. With hundreds of pages the normal view is not as helpful as I thought. The module I mentioned did help a lot, without that I would have been in trouble. I am looking forward to using PW 2.4 on a project like this and how it accomplishes those challenges. Let me know what you think, especially about tailoring the backend and dealing with lots of pages. I attached a screenshot of our backend (it is 2.3 and a modified backend theme, based on ergo theme) Cheers!1 point
-
Ah I see thanks for the link Adrian, it's been 7 months since the last post. =( However, I did find a work around =D! I remove the dependency off my image field and created a fieldsettab and wrap it around my image field and added the dependency on my fieldsettab.1 point
-
https://processwire.com/talk/topic/4173-grouped-forum-posts-links-articles-tutorials-code-snippets/1 point
-
Hi gebeer, don't know if it is what you are looking for: https://processwire.com/talk/topic/3660-what-page-was-the-caller-of-render/ If you get the page, you can ask for its template. So no direct solution here, but a solution.1 point
-
Max, glad you got it sorted. Just wanted to point out that this head.inc/footer.inc being the PW way is a common misconception . That is not the PW way; there is no PW way . This is a source of joy for some (the-have-my-cake-and-eat-it-too crowd) and a source of frustration/confusion for others, especially those used to a CMS telling them how to do things (Joomla, WordPress, anyone?). In PW, different people use different approaches according to preference, practicality, etc. Hey, if you wanted, you could even have one massive HTML file with all the markup you need and keep on duplicating that across different template files with only slight modifications. Not very practical (and a lot of unnecessary work on your part) but it would work. The Blog Profile, the Skyscrapers Profile and the default install are good examples of various approaches. But the definitive post on different approaches are in this classic thread.1 point
-
@everfreecreative: Thanks for helping here! I messed around with this last night to no avail and went to bed sort of frustrated. This morning, with fresh eyes, I checked through each line of my templates and really could find nothing. Not knowing PHP kind of makes this chore difficult but I can follow along (more or less) what the system is doing. I then checked my head.inc file which I created before the whole gallery experiment. I have an existing jQuery script that runs my top navigation. What I quickly spotted was me calling two different versions of the jQuery lib script. A newer one towards the top of the head.inc and an older one just above the top nav script. I deleted the second call (older jQuery), saved and refreshed the gallery page: and voila: images rendered by FancyBox!!! Is it too early in the day for champagne?1 point
-
I can definitely see the need for just being able to show the time picker. I have a custom inputfield for entering lists of hours that does this. The JS in the module customizes the picker to only show date — even though it's using the core datetimepicker.js $(document).on("focus", ".InputfieldHours .datepicker", function() { $(this).timepicker({ timeFormat: 'h:mm tt', ampm: true }); }); bah! Just noticed some alignment issues on my time picker in safari. :/1 point
-
Hey Dave, I don't have any problems here with the description field with PDF uploads in repeaters. I only did this for the first time yesterday actually and I am using a fairly recent dev version. I can't think of what might be causing the problem, but just wanted to chime in and say it's definitely not universal, or at least it has been fixed if it was1 point
-
No they can't (not as is). As you also can't use Multilanguage inputfields. Repeaters are stored as pages somewhere else, while the module config is stored to the module table as json (?).1 point
-
Hey, I finally finished a lot of changes on my personal website like responsive, an about site, a better reference page, ... and of course an update to PW 2.4 Check it out: http://nico.is / Nico1 point
-
Hallo Nico, ich verfolge deine Aktivitäten schon länger - du bist offensichtlich sehr begabt. Gefällt mir. Hello Nico, I'm watching your activities for some time now - you seem to be very skilled. Like Thomas1 point
-
Your assumption is correct - using get only works for getting hidden pages for that one page that matches your selector. After that you still need to using include=hidden when trying to get hidden children of that page. This is intentional and logical.1 point
-
Hi Vineet Just passing some random thoughts along... I once signed up with Linode just to have a look see. I too am a real novice when it comes to server administration and wanted to learn more. The plus point with Linode is that they have great documentation that can really help you along. That's great! Since integrity of data is important to you, I recall reading that Linode was hacked once. I recall that some people were very upset about this as they claimed that Linode tried to conceal the fact that they were hacked. Whatever the truth is there, I suggest that you at least look into that story and make your own judgement as to how secure your data would be with them. I had a look at their forums once and was saddened to see that the spirit there is much unlike that here in the ProcessWire forum. In fact I would say that the ProcessWire forum is an amazing world class showcase of what a forum should be. In Linode land forums I saw some very reasonable questions asked and they were greeted by such sarcasm from the smarts there. If you want to sign up for something affordable to learn server skills check out https://digitalocean.com/ I highly recommend having a play with Digital Ocean. Their "recipes" as in how tos are getting better all the time! Last year I attended a talk by AWS here in Malaysia. They are a very security conscious outfit indeed. For example all the engineers who came there to talk about AWS, they themselves don't know where their data centers exact locations are. Much there operates on a strictly need to know basis. When asked how to get started, what one of their engineers told me to do was to look for someone appropriate on elance.com and hire them to set things up for you or at least guide you. This way the entry barrier of complexity can be overcome... and possibly you can get him to be system admin as well? All just rambling thoughts for you mate!1 point
-
A 404 means that the page doesn't exist, so it won't be indexed and it won't be visible, which is exactly what you want. So a page with a template with no template file is the way to go for sure.1 point
-
One way....if calling PHP within HTML... Note: there is no slash before 'scripts'. ProcessWire will add that <script src="<?php echo $config->urls->templates;?>scripts/fancybox/helpers/jquery.fancybox-thumbs.js"></script> Read about urls and paths here: http://processwire.com/api/variables/config/1 point
-
hi nico, brilliant site, congrats. the visual on /about is fantastic. the whole site is just outstanding.1 point
-
@teppo - I've got a marginally modified version of the AD module working, but to be honest AD is a pig to work with unless you know it inside out. I know it just well enough to get it to authenticate and that's about it - taking it further than that is hard work as it's hard to work with. Something like ADLDAP would be the way to take it further I think: http://adldap.sourceforge.net/wiki/doku.php?id=documentation_user_functions But even then, look at the docs - there doesn't seem to be something as sensible as a unique user ID in Active Directory so if you rely on the username from AD and someone changes the username on the AD server then your matching PW user account won't work. Of course if you only need it for a bit of frontend authentication then it's not a problem, but if you want to match up an AD user with a PW user like I do on an intranet system I use then you have to be vigilant when changing usernames in AD. I think I've thrown myself into a recursive loop and repeated myself a bit there, but that's the kind of headache it gives you It would be great if there was a really good PHP API for AD that dealt with basic things like user authentication and reading/writing to user accounts (the basics in my opinion) but every one I've looked at gives me a headache. But then I am spoiled by PW's API1 point
-
@Vineet I've never used Amazon's AWS offerings (only Amazon MWS - which is quite different.) I recently posted about my VPS experiences here. You do need server admin skills if you are going to go down the VPS route unless the client can provide those or self-host their service. You might also look at something like turnkey linux's hosted services or even bitnami's new PW bundle (though I've never used these myself.) A quick note on learning server admin skills: there are some great documentation resources (like how-tos) over on the slicehost and linode websites for learning these sort of things but don't buy their services just to learn how to admin your system - simply install virtualbox on your desktop machine and install something like a Ubuntu server 12.04 LTS client and learn how to do the things you need locally first. Once you know how to setup the server and keep it ticking then you can progress to a paid-for-VPS. Forgot to say, that I've heard really good things about Linode and Slicehost when it comes to more up-market hosting. Never needed them myself.1 point
-
Hello! This is a website for another local group/hobby I'm involved with. I've been responsible for managing their website for about 10 years now, and it's seen a few revisions over that time - from a simple static site, through several other CMSs, and now ProcessWire. There's only really me who manages the content, but when I do I need it to be quick and easy to do - and of course that is now possible For the past 2 years or so it's been powered by WolfCMS. This version is a fairly responsive design (might need some minor adjustments here and there!) that has only had some small tweaks since the last version, as it works quite well. The only modules used are All-in-One Minify and TextformatterVideoEmbed. Visit: Bishop Auckland Radio Amateur Club. There's another website I manage for the club too (Railways on the Air), which will also get the ProcessWire treatment when I get round to it1 point
-
Nice, clean and clear - I like it! Knowing that it's build in PW I shortly stumbled upon the main navigation item "Repeaters"1 point
-
Also if used only from company network, you could use IP restriction: http://modules.processwire.com/modules/page-render-iprestriction/1 point
-
Hello @Vineet, I'd like to advocate against forcing frequent password changes if I may. IMHO it encourages poor password choice by users as the frequency of changes either causes them to repeat a simple pattern of passwords (like 'password1' one week, then 'password2' the following week and back to 'password1' after that) or it forces them to write down the password on a post-it note on their desk if your policy only allows diverse or strong passwords. I would definitely suggest going down the 2-factor authentication route (and yes, I published a 2-factor authentication module for PW) as this significantly mitigates poor password choice on the part of users anyway. Also, I don't think your client should be running a service with any sensitive data on a shared host. VPSs are pretty cheap these days.1 point
-
I assume you are having issues with quote matching? You can take a couple of different approaches: echo "<li class='col'><a href='{$child->url}'>{$child->title}</a></li>"; echo '<li class="col"><a href="'.$child->url.'">'.$child->title.'</a></li>'; Have a read through some of these links: http://www.scriptingok.com/tutorial/Single-quotes-vs-double-quotes-in-PHP http://www.trans4mind.com/personal_development/phpTutorial/quotes.htm http://techtalk.virendrachandak.com/php-double-quotes-vs-single-quotes/1 point
-
Just committed a fairly major update to support full migration of files and images, including rewriting of the src tag to match the ID of the new page for images embedded into RTE fields. Additionally, the module now also migrates the template .php files. Files/images/template files and the json structure/data file are exported in a zip file which is then imported into the destination PW install. So, you can now select one parent page during export and it will migrate the following content for all child pages of the selected parent: All standard field types, including RTE, and decoding of links modified by the PageLinkAbstractor module and abstracting again on the destination PW install. File/Image/CropImage fields including the actual files/images/thumbnails and all other variations Repeater fields and all their required fields, templates, and all content, including files/images Page fields (and the pages, templates, and fields that make up their selectable pages) Multi-language versions of all field content Templates (including Access, Family, URL and other settings) and the template .php files. It even grabs the appropriate file if you are using the "Alternate Template Filename" setting. NB the templates directory on the destination PW installation must be writable for these to be imported. So, you could build sections of content on a local dev PW installation, export it, and then with a couple of clicks import everything into the live PW installation. Some outstanding issues that I hope to get to shortly: Need to support images inserted from a different page into an RTE field Rewrite any references to page ids, eg $pages->get(xxxx) in template .php files so they will be converted to the correct id on the destination installation. Need to look into the new core link abstractor that was added to PW 2.4 and see how to handle those links compared to the PageLinkAbstractor module. I still want to add finer control for determining exactly what components will be exported and imported. Generally needs lots more error checking for things like making sure required languages are installed on the destination PW install etc Need to add checks so that existing template php files are not overwritten (or give the option to choose) Might need to override PHP max_execution_time and other settings for larger exports and maybe chunk out zipping of all images to prevent memory issues on larger exports. In its current state it is handling almost all my needs, but I would really like to have this robust enough for anyone to use, so if you have time please do some testing for me - THANKS! At the moment, please only use it on two unimportant test PW installs!1 point
-
A couple of posts that might help you out: http://processwire.com/talk/topic/3384-search-with-merged-pagearrays-pagination-not-working/?p=33360 http://processwire.com/talk/topic/4257-ordering-by-date-reversed-then-time-normal-order/?p=423651 point
-
Since ProcessWire doesn't generate markup for you, you'd have to do this from the API side. Here's a simple example where you have an email subscription form and you accept an email address and store it in the 'title' field of a new page. <?php $showForm = true; $email = $sanitizer->email($input->post->email); if($email) { // parent where we will store our new page $parent = $pages->get("/subscriptions/"); if($parent->child("title=" . $sanitizer->selectorValue($email)) { // this checks if we already have this email echo "<p>You are already subscribed!</p>"; } else { // create a new 'subscription' page $subscription = new Page(); $subscription->parent = $parent; $subscription->template = 'subscription'; $subscription->title = $email; $subscription->save(); $showForm = false; echo "<p>Thank you! You have been subscribed.</p>"; } } if($showForm) echo " <form action='./' method='post'> <label for='email'>Enter your email address</label> <input type='email' name='email' id='email' /> <input type='submit' name='subscribe' value='Subscribe' /> </form> "; There are also some tools that can automate this process to some extend, like FormBuilder, and the FormTemplateProcessor (proof of concept), among others. But the best way to get exactly what you want is to use the API.1 point
-
Soma, is it necessary to pass the $userid in the URL since you'd already know the user from the wire('user')?1 point
-
Absolutely! Here is a simple, but functional example for both login and logout templates. You would want to replace the markup with your own markup or includes. Likewise you'd want to change the redirects to redirect to whatever page you want them to go to after completing a login. /site/templates/login.php: <?php if($user->isLoggedin()) { // user is already logged in, so they don't need to be here $session->redirect("/somewhere/"); } // check for login before outputting markup if($input->post->user && $input->post->pass) { $user = $sanitizer->username($input->post->user); $pass = $input->post->pass; if($session->login($user, $pass)) { // login successful $session->redirect("/somewhere/"); } } ?> <html> <head> <title>Login</title> </head> <body> <form action='./' method='post'> <?php if($input->post->user) echo "<h2 class='error'>Login failed</h2>"; ?> <p><label>User <input type='text' name='user' /></label></p> <p><label>Password <input type='password' name='pass' /></label></p> <p><input type='submit' name='submit' value='Login' /></p> </form> </body> </html> /site/templates/logout.php: <?php $session->logout(); ?> <html> <head> <title>Logout</title> </head> <body> <h1>You have logged out</h1> </body> </html>1 point