Leaderboard
Popular Content
Showing content with the highest reputation on 11/19/2013 in all areas
-
You could do a lot worse than having a good read here - http://moz.com/blog/category/on-page-site-optimization, then, if there's anything you need help with implementing in PW, come back here and ask.2 points
-
@everfreecreative: make sure that you've got the latest version from GitHub. This bug was supposed to be fixed a (short) while ago.2 points
-
@adrian: finally had a chance to take a closer look and now I'm no longer sure how this could've worked at any point.. there was an issue where moving the mouse cursor over an absolutely positioned element within revision list triggered mouseleave on the parent element, effectively making it disappear. Should be fixed now in latest version at GitHub. It'd still be nice to hear back from you whether this actually helped Edit: and, again, thanks a lot for helping debug this issue!2 points
-
I am very interested to here how people find ProcessWire. Did you heard about it from twitter or blog post? Some tedious google search or something totally different. Also - how did you found your first visits? Did it make impressions from the beginning or did it took time? Do you go straight to demo or do you read forums and docs first? Or just install and try - what is your method when you find something new and interesting software? We are doing more and more promoting, and also planning redesign to the site so, this is all very valuable feedback.1 point
-
I'm really please with my first attempt at a site: http://www.garagesalefinder.co.uk It uses the map module which was fairly easy to implement; Uses the simple news tutorial which I've also adapted to make a cool links block; Uses a Pete's email to page module that I've also adapted to feed straight into the simple news tutorial; Anyway, I'm very pleased with my first little project Thanks to everyone who has helped me on the forum1 point
-
New site launched today: http://www.katonahartcenter.com/ Thanks to everyone in the forum who answered my posts over the last 8 weeks of developing this site, including adrian, teppo & ryan. modules so far that were essential: After Save Actions Color Picker Admin Custom Pages DataTable Redirects Template Decorator Form Save Reminder Hanna Code Hanna Code Helper Twitter Feed Version Control for Text Fields Form Builder ProCache Forum Threads that helped: http://processwire.com/talk/topic/4849-search-rar-and-tar-result-in-404/ http://processwire.com/talk/topic/4866-time-field/ http://processwire.com/talk/topic/3745-hanna-code/ http://processwire.com/talk/topic/4816-set-field-value-globally-if-null/ http://processwire.com/talk/topic/4602-flexible-downloads-using-pages/ http://processwire.com/talk/topic/1648-ok-to-change-page-name-path-after-save/ http://processwire.com/talk/topic/3987-cmscritic-development-case-study/?p=36867 http://processwire.com/talk/topic/3812-htaccess/?p=37295 using custom admin pages:1 point
-
Thanks Ryan, that's what I did but not using $_POST[name] but with $field->attr("value") and it was already stripped out. Lots of confusion. Testing around and looking at database revealed the real issue. It's that there's a "stripTags" option setting for textarea fields. It looks like that was checked before it was changed to TinyMCE. Changing it to TinyMCE hides that setting but is still save in the config in DB. So kinda mean. That also explains why changing it to multilanguage field and back to textarea makes it work again. So it's a bug that must be harder to find than fix. It was tricky because I wasn't aware that much that there's a stiptags option on textarea fields that is hidden once Wywiwyg is enabled.1 point
-
That sounds really unusual. I'd probably be looking at the webhost to see if they are stripping it out before ProcessWire gets to it. Just because some other fields work (or it works in language mode), doesn't necessarily mean they aren't doing it... mod_security rules can be triggered by combinations of things that don't always make much sense from our context. Just as a test, try adding this to the top of your /site/templates/admin.php: wire()->addHookBefore('InputfieldTextarea::processInput', function($event) { $textarea = $event->object; $name = $textarea->name; if($name != 'your_field_name') return; $value = wire('sanitizer')->entities($_POST[$name]); $textarea->message($value); }); Try saving a page with that textarea field on it containing some text. Does the green message at the top of the screen contain HTML? If not, it's probably being stripped out by the server before PW gets to it. The hook above is looking at that field before anything else in PW touches it.1 point
-
Thanks, adrian. You pointed me to the right direction. This is what I ended up using, in case it can help out someone else: 1. Create username field from API: $field = $modules->get("InputfieldName"); $field->label = "Username"; $field->attr('id+name','username'); $field->required = 1; $form->append($field); 2. Sanitize "username" field: $username = $sanitizer->pageName($input->post->username); 3. And pull "InputfieldPageName.js" for JS validation on frontend.1 point
-
1 point
-
Ok, I have swapped out the timeout approach for a callback, so hopefully that will solve it in a much better way. I have pushed this fix to github and the module is also now approved in the modules directory, so you should be able to update much more easily now. Please let me know if that works now.1 point
-
Sideshows and rate tables are examples of good use cases. Anything naturally bound by scale that produces in-page components, rather than groups of data that need to be represented by their own URLs. This sounds like another good use case example. Who said anything about phasing out repeaters? That is definitely not the plan. I currently have a big to-do list of items to improve repeaters, which I'm slowly working through. But just wanted to clarify that we're not trying to follow the path that Craft has taken.1 point
-
With MSN this could look like this: $nav = $modules->get("MarkupSimpleNavigation"); // topnav $current = $page->rootParent(); // current root page echo $nav->render(array( 'max_levels' => 1 ), $current); // subnav echo $nav->render(array( 'max_levels' => 1 ), $page, $current);1 point
-
I was having an issue with a 404 error appearing when adding an image using TinyMCE for a client once (see here: http://processwire.com/talk/topic/4340-tinymce-images-saving-leads-to-404/) - so I know mod_security rules can do funny things that cause issues with HTML in TinyMCE. Perhaps look into that? (I ended up having the webhost, Liquidweb, help me out and they whitelisted the rules that were causing the issue.)1 point
-
Catched! #Inputfield_submit shoud be #Inputfield_sumbit_save_module in ProcessCustomUploadNames.js: $('#Inputfield_submit_save_module').click(function(e) {1 point
-
If your course template has the fields "title|body|sidebar", they should be searched too. If these "sub-pages" are hidden, you need to add "include=hidden" to your selector string. For the results: foreach($matches as $m) { $outMain .= "<li>" $url = ($m->template == 'course') ? $m->parent->url : $m->url; $title = ($m->template == 'course') ? $m->parent->title : $m->title; <h2 class=\"h4\"><a href='{$url}'>{$title}</a></h2> </li>"; } Note that the parent page may be listed multiple times with this code.1 point
-
1 point
-
Tested a website with ProCache activated. I also did some other stuff like gzip compression and some tweak for the htaccess I've found around the net. Don't forget about a clean and lightweight html markup and compressed CSS/JS/Images. Got a 90/100 + 95/100 Google Page Speed. http://developers.google.com/speed/pagespeed/insights/?url=weg.conclurer.com I didn't add a JS loader or integrated CSS for the "above the fold" category. Here's a nice guide to do that http://www.feedthebot.com/pagespeed/prioritize-visible-content.html EDIT: It's funny, that google does critize its own Webfont CSS Loading...1 point
-
Mark, Thanks. As for posting a tutorial, I am afraid some other work has gotten in the way in the last couple of months :'(I hope to start writing during the xmas break (finger's crossed!). Thanks for your interest. Cheers, /k1 point
-
To the above post. ui sortable is screwed because of the addition of overflow-y: scroll on the body. It's a known bug I ran into even couple years ago and seems still there in jquery ui. pff Once you scroll the page and start dragging a item, it is offset by a margin and not on you cursor anymore, makes it impossible to drag sort or scroll. Once you remove the overflow-y: scroll from the body it's all good again. Not sure what else could fix the problem, as removing overflow-y: scroll on the body will bring back the content jumping on dropdowns that are longer than window.1 point
-
Ryan: are you certain about this? I was just about to post that this little CSS rule in Font Awesome stylesheet is an awesome (pun intended) example of doing it wrong: [class^="icon-"],[class*=" icon-"]{... .. but based on above comments it seems that they've already realized and fixed this. The issue is that these aren't exactly "unique" class names and will collide with classes used in some existing Process modules (or, for that matter, in any other external stylesheets / styles that are also doing it wrong), which is not very nice behavior. Sure, another approach would be to fix any collisions elsewhere and keep these rules as-is, but that feels kind of wrong, considering that this is apparently supposed to be a drop-in will-work-out-of-the-box font library (or whatever the correct term here would be.) So.. perhaps we could implement fa-* style class names after all -- or if that seems too fa-specific, re-brand them to pw-* or something else "vendor-specific"?1 point
-
Hi, maybe a bit OT but worth to mention I think: PHP has a nice function to create and open a pointer to a temporary file - but with the advantage that it first write to memory and only flush content to the disk if a specified amount of memory is reached: $mb5 = 5 * 1024 * 1024; $fp = fopen('php://temp/maxmemory:' . $mb5, 'rb+'); // then add content to the pointer ... fputs($fp, "hello\n"); // At the end rewind and echo out the content: rewind($fp); echo stream_get_contents($fp); The first 5 MB will kept in memory and if the content hits the limit it gets written into a temporary diskfile. see: http://www.php.net/manual/en/wrappers.php.php1 point
-
Actually this is very applicable stuff and I think everyone here is interested. I know I am. Thank you for posting! please keep doing so.1 point
-
You should be able to remove these files and it will immediately re-create them. One represents the list of modules in /wire/modules/ and the other in /site/modules/. You shouldn't ever have to manually edit them (at least I never have). If you got an error after removing the file, that sounds like your file system is not writable (and it was unable to create a new one). This would also explain why it was unable to see new modules. Try enabling debug mode and doing it again, as I'm guessing you'll see an error message about file permissions. You most likely have to do a chmod -R (or the recursive equivalent through your FTP client) to add write access for your web server on /site/assets/. Note that lack of write permission to anything in your /site/assets/ could create any number of other problems too. When ProcessWire creates files in there, it makes sure they are writable. But if you transfer files yourself (via FTP or something else that doesn't include permissions) then you would have to restore such permissions.1 point
-
InputfieldCheckbox does actually support use of an alternate value for a checked or unchecked value (i.e. Yes/No), but you won't see it except in FormBuilder or in your own usage of the Inputfield. That's because FieldtypeCheckbox does not support different values for these. The reason is that they all map to 0 or 1 in the database, and I think it could get confusing if people start thinking of checkbox fields like text fields when it comes to searching/sorting, etc. So from the development sense, it's best to think of a checkbox field as a boolean or on/off toggle, and you can determine what the on/off state means from your code. This also makes it easy to translate for multi-language support, i.e. echo "Likes spicy food? "; echo $page->spicy ? __('Yes') : __('No'); Okay it's early in the morning here and I'm going back and reading your question again and seeing you mean within the context of locked fields and I see what you mean (appearance of "1" in editor just isn't so useful). I suppose we could always have FieldtypeCheckbox's formatValue() function translate the 0 or 1 to some other text (this is essentially what formatValue is for, though not typically used in admin setting). I'll keep thinking on this, it might be a good idea.1 point
-
Hi motionmindz and welcome! PW gives you ultimate flexibility to handle SEO however you would like, but it does do a lot of great things to help you along, including excellent clean and SEO friendly URLs to all pages. It also has the ability to handle custom URL segments, rather than using GET variables: http://wiki.processwire.com/index.php/URL_Segments You should definitely make use of the sitemap module to generate a sitemap that can be submitted to search engines through tools like Google's webmaster tools: http://modules.processwire.com/modules/markup-sitemap-xml/ Remember that one of the key components of SEO is good content and proper use of html tags, which is, and should be, up to you and your content creators. Hope that helps, but let us know if you have any more specific questions.1 point
-
No problem at all - happy to help. I just pushed another small update that adds a canonical link to the page if you are using the new "Load" option. This is to help identify the ID based URL as a duplicate of the proper PW url so Google etc won't penalize you for duplicate content.1 point
-
Seems to be working perfectly now - thanks. Awesome new functionality!1 point
-
Dear Ryan, Thank you for this clarification! I'm using MarkupHMTLPurifier, which works very well. I appreciate your help. Peter1 point
-
https://drupal.org/node/1367802 With "localserver" you probably mean "localhost"? You've never installed ProcessWire and think that it is as heavy as Wordpress? Please Try install it locally first. And maybe change the hosting, because google tells that other OS systems have problems too with ipage (see drupal link). Cheers1 point
-
I agree with Teppo re submitting a support ticket to your hosting company to get the database information you need. I don't really know much about ipage.com hosting, so I can't speak to whether it meets Processwire installation requirements. If you can't check it yourself I would send them the link to this page http://processwire.com/about/requirements/ and confirm that the hosting they have you on does meet those requirements. That said, Processwire runs on pretty much most standard hosting, so this is likely more a problem of database credentials being wrong as you've said. I did a little bit of googling and it looks like ipage do name their database servers in a very specific way. Try using yourusername.ipagemysql.com as the hostname and see if that helps. Have you tried installing PW on your local test server (WAMP, XAMPP, MAMP, etc) if you have one?1 point
-
Just found this thread: http://processwire.com/talk/topic/1920-processwire-logos-download/ - Michael van Laar did the vector work for the logo. I actually don't think there will be a legal problem with making a font of it: As long as you don't alter it to say "mySuperAwsomeOwnCMSWire" it's used as intended (for branding pw instances). I think the best way to implement this would be ligatures (process and wire) as well as the letter "w". There is an option in iconmoon to do this: you can just upload 3 .svg graphics, select ligatures from the options menu, enter process for the first ligature and wire for the second and there you go (in fact i already did that for my theme yesterday ).1 point
-
Hi Radek, thank you for the quick reply! You were right - a "Repeater" with "File" field inside was not necessary because a field of type "File" offers multiple file uploads out of the box. I did not know that... By setting "Maximum files allowed" to 0, I achieved exactly what I thought was only possible by using a "File" field inside a "Repeater" field. Very nice solution - another reason for liking ProcessWire Thanks again Andreas1 point
-
Thank you for your help guys. Turns out the company that copied over the files missed a whole chunk of data. once that was merged the site worked fine.1 point
-
@rachel: I'm sorry you've had a rough experience so far. First of all, ProcessWire is in many ways "lighter" than WordPress, but it's purpose and philosophy are entirely different. Having said that, based on your description your current needs may not even justify using a CMS.. or perhaps you might be better off with something designed to be, first and foremost, super simple. Don't get me wrong; ProcessWire is definitely simple and easy to use for developers, designers and end users, but it's primary goal is still being extendable and customizable, giving developers a lot of control over how things are presented and managed without making things complicated for end users. To summarize this: ProcessWire isn't necessarily what you're looking for. Regarding the issue here, it sounds like you've got wrong credentials for your database. This doesn't sound like a ProcessWire issue. I'd suggest that you submit a support request to your hosting company, providing them the same db information you've supplied to ProcessWire during installation and asking what could've gone wrong. I'm sure they'll be able to help you with this. Again, I'm sorry to hear how badly things have worked for you and hope you'll get proper answers from your hosting company.1 point
-
If the template where the pdf's are stored is not viewable by the guest role, then you can set $config->pageFileSecure to true. Then only roles that have view permission to the template are able to access the files directly.1 point
-
I personally don't see a reason to extend pwire's core to support Craft's matrix block stuff. It's taking the repeater paradigm a little too far / specific for inclusion out of the box. For me, processwire's repeater fieldtype is pretty much perfect as-is, and actually is the sole reason I started using processwire. The way I see it, the jump from child pages to in-template repeaters for organizing certain kinda of data is substantial and incredibly useful from a client UX/UI perspective, but the jump from the existing repeater type to something like matrix blocks from Craft is not as substantial. Just use multiple child templates I'm curious Ryan, what for you is the ideal situation for repeaters vs child pages? For me, I use them in situations where it's helpful to see repeating data all at once, as opposed to seeing a list of child pages and having to drill down into the individual pages to see specific data. For instance, if I have a relatively complicated gallery in a page (which requires more fields than the images field offers) repeaters are perfect because they allow clients to see all of their images in a single page, drag them around, etc. If I were to build all the gallery fields into a separate template and have them as child pages, it would be difficult to visualize the entire gallery all at once. So a repeater works wonders. Ryan I hope you aren't considering phasing out repeaters because you don't use them yourself. For me, it's a killer feature. They aren't candy, they serve a real distinguished purpose from normal child pages. When the next version of pwire comes out with gridded image galleries, that will be icing on the cake for my CMS wishlist. The only weakness I see with the current pwire release is the inefficiency of viewing image galleries. Pwire is near-perfect1 point
-
Hi there, just launched a new website with ProcessWire! Here it is -> LINK Cya, devcow1 point
-
Hi darrenc, Your project sounds perfect for Pw (and vice versa ). For the site-structure: I suggest to look at kongondo's excellent tutorial here: http://processwire.com/talk/topic/3579-tutorial-approaches-to-categorising-site-content/ Bookmarking: I would just store the ids of the products a visitor has bookmarked in the session. On the review-page, display them together with a form and send the data to the client afterwards. Some pseudo code: // in template product // .... // Check if this product was bookmarked, e.g. on top of the product template if ($bookmark = $input->get->bookmark) { $bookmarks = ($session->bookmarks) ? $session->bookmarks : array(); $bookmarks[] = (int) $bookmark; $session->bookmarks = $bookmarks; } // this is the link to bookmark the actual product <a href='<?= $page->url; ?>?bookmark=<?= $page->id; ?>'>Bookmark me!</a> // in template review if (count($session->bookmarks)) { foreach ($session->bookmarks as $b) { echo 'You bookmarked ' . $b->title; } } else { echo 'no bookmarks'; }1 point
-
Hi and welcome to forum Andreas. I made little investigation. This is not problem of CKEditor as this behaviour is same as in MCE. If the file field is in the repeater, link to file dont offer its values (not only pdf). Do you need repeater in this case (from screenshots its looking like not)? If you put file field directly to your template it will work.1 point
-
Welcome to the forums and to PW rachel. If you provide the details DaveP asked for it will help us figure out what's going on and try to help you. Can you take a screenshot of the page where you're getting stuck and post it here? You mentioned WordPress. Have you installed it before on this same server with no issues?1 point
-
Welcome to the forums, rachel! Your problem sounds as if it is more related to the way your hosting is set up, rather than PW. Normally, when installing PW the default values 'just work'. Tell us a bit more about who you are hosting with, or are you installing locally? What exact error messages are you getting?1 point
-
Thanks for putting together the PR for Ryan. Just for the sake of keeping connected posts linked, this post and the following reply from Ryan are relevant: http://processwire.com/talk/topic/3023-module-ckeditor/?p=425231 point
-
Hey Ryan, being a huge fond of the CKEditor module, I just stumbled over a tinyish bug: the icon images of the Codemirror plugin are actually missing. I already filed a pull request, would be great if you could merge that anytime soon: https://github.com/ryancramerdesign/InputfieldCKEditor/pull/111 point
-
Yes of course, and it's also simple Still knowing the alternatives help in making the right decision I may use this for News Flame (website with limited number of pages) and use another way for other website! Cool , I never thought of adding the primary language as any other languages! I just test that out in clean installation and this works fine except I still couldn't figure it out how to do something like throw the PW default 404 when visit none active page maybe some code in header if current page language is not active throw new Wire404Exception(); I tray some code but nothing worked out. Yep, that will do the trick, still need more coding that I wish I could offer for others but I will leave that for now since I am not pro code writer and I wasn't active even in code manipulation since i don't know maybe 2006. and to be honest at this time this is the only discussion board I am active in However I enjoyed and benefited from every post, and every opinion, and I hope any body reading this topic will too.1 point
-
I just figured this out. In the field options (which I identified above) I have the following in my ckeditor toolbar box: Format, Bold, Italic, -, RemoveFormat NumberedList, BulletedList, -, Blockquote, JustifyLeft, JustifyCenter, JustifyRight PWLink, Unlink, Anchor PWImage, Table, HorizontalRule, SpecialChar PasteText, PasteFromWord Scayt, -, Sourcedialog and they work well. Hope that helps.1 point
-
Thanks for the feedback. Yes I get that users like to see what they get, but you get it when viewing/editing the blocks (click on asm list label name) and on front-end when go preview the page (unpublished pages are viewable by editors). I think it would a small price to pay for blocks in a scalable manner, easy to deal with and sort them. And as said front-end editing is something that should be considered a lot since PW makes it so easy and clients usually like it. I have also mixed feelings and am somehow aware of drawbacks and issues to could lead to. Also misuse of this, either by the developer or by the user. At the end it all comes down to what do you need to solve with this? And does this lead to bad websites/Use of it (I think most of times yes!) Currently I see it like this: My module pros - minimal easy setup - scaleability - reuse fields and blocks (would requires some complex config setup but possible) - blocks are pages - can use repeaters ... cons - no direct inline editing (if a concern at all) - don't see a way to search via simple API selectors (would require special workarounds, a lot of work) - not easy to limit and reuse things, a lot of work would need to be put in module (grows complexity) ... Using repeaters with conditionals (if supported by PW at some point) pros - easily create different repeaters with different types - inline editing - able to use in simple search API selectors (repeater.field) - repeaters are pages ... cons - doesn't scale as good - some larger setup required - not able to reuse fields and sets created in a repeater - dependency on repeaters - can't use repeaters (inside repeaters) ... and not to leave out already possible approach Using child pages pros - straight forward adding them, almost no setup - preview and editing easy possible on front-end - no dependency - reuse fields, template, and content - they are pages ... cons - no inline editing, different approach (but clients usually get this easily) - could interfere with other child pages (although this can be solved if you put them in a global branch and append them using page selects) - needs workaround for searches using API (but easier as they're direct childs) ... somehow After all I'm looking also further and question things like: what about future major features PW maybe introduce and support in future? Import-Export, versioning, drafts etc. Ever thought of that? Currently I don't know where all this leads us. As said this current module only shows a proof of concept and it maybe one possible to further develop. But first I want to make sure it would be the way to go. I think to use pages in some or other way is a good way to go as you benefit from all features a page can have with all it's API, without relying on a new proprietary system. So this is maybe more what's behind it and more technical, but I think I would love to hear other developers to look and think about this.1 point
-
Just a quick note to those trying unsuccessfully to login via Twitter the past few weeks - this is finally fixed now and you can carry on as usual.1 point
-
1 point
-
Barring any issues, I'm hoping to officially replace 2.0 with 2.1 as the current stable version this week or next week at the latest. The 2.1 version is currently on release candidate #2. Thanks to everyone for all the help with testing. I've just about worked through all the issues posted at GitHub. Please post new issues as they come up, even if they are minor. Initially, the 2.1 version will not include an upgrade function to go from 2.0 to 2.1. Instead, I'm treating that as a separate project. I want to get 2.1 released, and then focus on the upgrade utility for those that want it. If you are one of those that wants it, please let me know as I could use your help with testing. I'll also be keeping the 2.0 branch going indefinitely for bug fixes and such. I've reserved the "processwire" name at GitHub (per Adam's suggestion), so thinking about moving the 2.1 source over to that account. That means the GitHub account URL would be github.com/processwire rather than github.com/ryancramerdesign. I think this'll be a better fit for PW. Can anyone think of any issues with doing this? I'll of course update the README info at the ryancramerdesign account to point people over to the processwire account.1 point