Leaderboard
Popular Content
Showing content with the highest reputation on 09/22/2014 in all areas
-
This is the second site for my music production company using ProcessWire - the first was over a year and a half ago. http://dancingbear.co.uk Very simple site incorporating a version of jplayer - the player is loaded via ajax and is actually incorporated into the page using Hanna Code. Site runs with ProCache and cloudflare. It is not the most awe inspiring site out, but then, audio is not known for having a lot of pictures associated with it! The logo is based on one that a friend drew for me 20 years ago. I have decided to reuse it and redraw it. Slight issue in that the contact form that worked fine on my development server but I am not getting any mails from the production server. I have opened that up as an issue at: https://processwire.com/talk/topic/7685-not-receiving-mail-from-form/ NOTE: I have turned off procache for the moment while I check on a couple of issues. Back on now, as is cloudflare ... is that overkill? Edit - note for anyone using cloudflare (who are very good, mostly). They are not appropriate for streaming audio or video sites. Their advice is to create a subdomain and to put audio files in there, then make sure that subdomain is NOT being cached by cloudflare. Or you can put it on a CDN somewhere. That way the main domain is properly served by cloudflare while the media is brought in from elsewhere.5 points
-
Just to add my two pennies worth... I'm not a coder by trade, but used to make many joomla sites for hobby money. But, by virtue of not being a coder I was restricted to what modules and components other more competent people created. This only caused me more problems when the core upgraded etc leaving me with out of date components and a vulnerable site. (and some egg on my face) I switched to PW after recommendation by a friend which turned out to be the best thing I could have done. With practically personal tutoring by members here (Adrian, Ryan, Joss, Pete, sinnut etc (sorry for missing out so many)), I've become competent in using the api and basic php. I now don't need a component to make a blog, photo gallery, complex database, I make my own. The biggest advantage of this is I know exactly how they work, I know how to adapt it and I most of all it won't become obsolete when the core gets upgraded. What makes a coder? $x = "any"; $y = 1; $z = "you"; echo "$x" . "$y"; $y = $y+$y; echo "$z" . $y; Would that even work? lol WP/Joomla and drupal all have a targeted audience... but I belong here lol.5 points
-
If it's a one image problem, give the image a transparent margin in an image editing software.4 points
-
Hi Dupalski Take a look at this: http://wiki.processwire.com/index.php/Basic_Website_Tutorial It is a little out of date, but work through it and you will learn all you need. Ignore index,php - Everything you need to do is in /site/templates - just think of that as the root of your site. For instance, the home.php file is the template for the home page. Do this as an experiment. Make sure in your admin you have the "home" page and it is using the "home" template. It is there by default. Open your home.php file and delete EVERYTHING. Now type: "This is the home file" Go to the front end of you website = mywebsite.com It will display This is the home file - with no mark up obviously! Now, edit the file again and add below the line: <?php echo $page->title; ?> Reload the page and it will now display This is the home file Home It has added the title of the home page. Now, go and add proper html mark up - <html>, <head> and the rest. In the body put: <h1><?php echo $page->title; ?></h1> Reload and you will have a proper web page with the title as H1. And that is how ProcessWire works! As you add more fields to the template in the admin, so add them to your template file. For instance: <?php echo $page->body; ?> As for includes - there are various tactics for including other info. The most obvious one is splitting up the head, body and foot of the site as these tend to be common to all pages. But there are loads of different ways of doing this - ProcessWire has no set way, it is up to you how to do it. The only thing that is mandatory is that it MUST be in the templates folder and normally home.php would be your root template. To be honest, there is no reason to change that.4 points
-
As in most cases with PW, there are multiple ways to accomplish this. That can be scary if you're coming from a module-based system and/or are not a coder, but once you “get” how much freedom it can give you to not have to rely on modules, it's a thing of beauty. Yes, it means you're going to have to write PHP code, but you have the trusty PW API to help you with it. It's really not that big of a deal, trust me. (I'm an idiot in PHP myself.) Let's assess what you need here and strip it down to very basic concepts. Basic concepts are great, because they are usually generic and thus reusable. As you probably know by now, the most basic concept in PW is a page. So what you need is a page type to list all the items, a page type for the actual items and a page type for categories. You'll probably want a superordinate page type for categories as well, but since those don't necessarily have to emit frontend markup, they're pretty easy to define. Your page tree for this might look like this: OverviewItem A Item B Item C CategoriesCategory A Category B Category C Categories as well as its child pages most likely only need a placeholder template since they don't necessarily emit frontend markup. You could have a category.php in your templates folder that looks like this: <?php // Placeholder template for categories Now, in your template for items (let's call it item.php), you would need a field to associate the items with a category, meaning: with a page that is a child page of „Categories“ and/or has the categories template. So you would create a field of the Page fieldtype, call it e.g. “itemcategory” and in its settings limit it to one page (meaning one category), which has to be a child of the page “Categories” and have the categories template. All that is pretty self-explanatory once you see the Page fieldtype in the PW backend. If you add this “Item Category” field to your item template and create a new page with that template in your backend, you can now choose a page representing a category for that item. (Let's skip the actual content of item.php, that's not really relevant for the list here.) Now, how do we list those items in your format? We need a template for the overview page, let's call it item-list.php. In that template, we can do this: <?php // Get all child pages, i.e. items $items = $page->children; echo "<ul>"; // For each item in our list foreach ($items as $item) { // Create a list item including a link to the page, the page // title and the category title echo "<li><a href='{$item->url}'>{$item->title} ({item->itemcategory->title})</a></li>"; } echo "</ul>"; The filter is a bit more complicated, but mostly because it depends on how you want to implement that. One option would be to just go with a JS-based solution, at least that's what I would do. (I'm a bit more comfortable with JS/jQuery than with PHP, so …) You would change your item-list.php maybe like this: <?php // Get all children of the categories page $categories = $pages->get('/categories/')->children; // Create buttons for all categories <div class="filter"> Filter: foreach ($categories as $cat) { echo "<button class='show-cat' data-show='" . strtolower($cat->title) . "' type='button'>{$cat->title}</button>"; } echo "</div>"; // Get all child pages, i.e. items $items = $page->children; // List all items echo "<ul class='items'>"; foreach ($items as $item) { echo "<li class='" . strtolower(item->itemcategory->title) . "'><a href='{$item->url}'>{$item->title} ({item->itemcategory->title})</a></li>"; } echo "</ul>"; So now you have a button for each category which stores the lower-case name of said category in the data-show attribute list items which have class names which also have the lower-case name of their associated category which means you can write a little piece of jQuery $('.show-cat').click(function() { var showme = $(this).data('show'); $('.items > li').hide(); $('.items > li').hasClass(showme).show(); } which gets the associated category class of the button and then first hides all the list items and then shows only the ones which have the class associated with the button (i.e. the class matching the selected category). Please note that this JS code a) requires the jQuery library and b) is not perfect for performance, but the easiest way to quickly show you how to do it. It would be better to instead add and remove classes, but for that we would need another code example for the CSS you'd need for those, and I'm already posting a really long example here. Also please note that all this is untested and written from scratch off the top of my head on a lazy Sunday evening, so there might be typos. There might even be logical errors in the code. (There probably are. As I said, I'm an idiot in PHP. ) Sorry about that if that's the case, but I hope this example gives you an idea of how simple it can be to write the code for this yourself instead of relying on a module. Yes, other systems might give you a module ready to plug in which gives you about that functionality without having to write a single line of code (well, probably not), but this way you control exactly what code is used. You don't have to have some part of it in one specific way because the module's author decided to do it that way. You can have it your way.4 points
-
http://www.tehplayground.com/#91kqu1Uyz It works, but doesn't make much sense3 points
-
Philipp, this is a great tool! I tried it, testing Blog version 2. Worked like a charm. I now understand why you call it lightning...the installation was fast and the servers were fast! Made it a breeze testing the different Blog version 2 styles. I missed the ability to be able to set Admin theme reno as the theme to use since that has to be done via the user screen which I found was not enabled. I was able to get around this though using /site/config/ with the new ability to set a default admin theme via config.php. With Blog, I would also have loved to be able to upload a user photo for the author widget but of course this too can be done via API. I will be applying for a module developer's hosting to demo Blog, thanks!3 points
-
Hi seedle, Firstly, 2.5 is the current stable version so you should grab that instead. As for page/pages: http://processwire.com/api/variables/page/ http://processwire.com/api/variables/pages/ I am not really sure what information you need, but to clarify, wire('page') is effectively the same as $page, but due to PHP variable scope $page is not available inside your own functions, inside PW modules, or on a script that is bootstrapped to PW. That is when you need to use wire('page'). Same goes for all the PW variables: wire('input'), wire('sanitizer'), wire('user') etc. If you are wondering what $page and $pages are actually for. Basically, $page gives you access to all the fields on the currently viewed page on your site, eg: $page->body $pages gives you access to all pages on your site - you can query the pages you want using selectors, which are Processwire's version of database queries. It sounds like you might benefit from reading through some of the new tutorials: http://processwire.com/docs/tutorials/ and of course the cheatsheet: http://cheatsheet.processwire.com/ Hope that helps!3 points
-
Blog version 2 Introducing Blog version 2! There are lots of changes so this will be a long read. For upgrading from version 1 to this version, please read the next post. I’ll appreciate beta testers. As you’ll see below, there’s lots of new things (and combination of things!) to test. Many thanks! TL:DR: Blog version 2 is available for beta testing. It comes with a two-step installer that allows you to structure where your Blog lives in your page tree just the way you want and cleans-up after itself in case it isn’t your cup of tea. Please see next post about updating version 1 to 2. Main Changes 1. Configurable Blog 2 is a now configurable module (i.e. ProcessBlog). On a fresh install, you will first have to set a couple of settings before you can run the module. More on this below. 2. Installer Blog 2 comes with a two-step installer. No more installing things you don’t want. In the first step, you set the module configurations in the module settings page as mentioned in #1. The configurable settings are outlined later below. In the second step, via the Blog dashboard, you will see an overview of the settings you selected in the first step above. Here you finalise Blog’s installation. Before you click the button to run the install wizard, nothing will happen yet. You can still go back and change the module configuration settings. Until you run the install wizard in this second step, you will have no Blog pages, fields, templates, etc. On this page, you will also be able to rename your Blog’s main pages before they are created. Yes! If you don’t do it at this stage, you can also rename them post-install in the ProcessWire tree! If you are happy with your settings, click the install wizard to proceed. Blog will be fully installed with your settings before you can dash out to make a coffee . You will then see the familiar Blog dashboard Please note: If you need to change some configurations, you can go back to the module settings and do it BEFORE you finalise step two of the installation. It is important that once the installation is finalised, in case you had left the ProcessBlog's module configuration's browser window open, NOT to press submit again. Otherwise, MarkupBlog may not like it . However, if you reload the module configurations screen once the second-part of the installer has finished, you will not be able to change the configuration settings. Instead, you will be presented with an overview of your installed settings. 3. Blog styles Blog now allows you to install your Blog pages from a choice of 4 different URL structures, aka Blog styles! These should cover most (all?) needs. This means that your Blog pages will live exactly where you want them in the tree, hence give you the URL you want. You select the style you want in ProcessBlog’s module configuration screen (first step of the installer). A visual of the 4 styles is presented on that screen. Example paths for the 4 styles are: Blog style 1: /mysite/blog/posts/example-post/ (similar to Blog version 1) Blog style 2: /mysite/blog/example-post/ (as requested by FuturShoc) Blog style 3: /mysite/posts/example-post/ (same as Ryan’s Blog profile) Blog style 4: /mysite/example-post/ (as requested by PWired) 4. Commenting feature In the first step of the installer (module's configuration's screen), you can choose to install commenting feature or not. The default is to install commenting feature. If you elect not to install this feature, Blog will not install any comments-related components – so no comment fields, associated pages, templates and template files! Note, you CANNOT add this setting once Blog install has been finalised. 5. Auto-publish/unpublish This much requested feature has now arrived! You choose whether to install this feature or not via ProcessBlog’s module configuration screen. The default is auto-publish/unpublish is not enabled. If you want to use this feature, you will FIRST have to install the great SchedulePages module. If you have the module installed, this will be specified in Blog’s module configuration screen. Again you will not be able to proceed with installing this feature unless SchedulePages is installed. If you install this feature, you will see two date fields when editing a blog post, i.e. ‘Auto-publish from’ and ‘Auto-unpublish on’. You will also see these two date fields in Blog’s Quick post’s dashboard. Note, you CANNOT add this setting once Blog install has been finalised. 6. Templates Blog will install templates according to the Blog style you have selected. So, if you went with style #4, you will not have a template called ‘blog’ nor one called ‘blog-posts’. 7. Template files In the first step of the installer (module configurations screen – I know, I am repeating myself!), you have three options when it comes to template files when installing Blog. The default is to install blank template files (with nothing but php tags – a little something to help you get started quickly). The second option is to install demo blog template files (more on this later) and the third is not to install any template files. 8. Demo template files These files have now been streamlined. No more verbose code! A blog-main.inc contains most of the markup and the other template files contain most of the code. The demo will work with any of the 4 Blog styles. 9. Cleanup One of the annoying things with Blog version 1 was not only that it installed things you probably did not need, it also left behind, uh, leftovers (templates, role, pages, fields, template files). Well, no more! Uninstalling Blog is now a two-step process. If you are logged in as a superuser, you will see a Blog menu item called ‘Cleanup’. It will lead to a screen with info about all the fields, templates, pages and role you are about to delete. It will also list the Blog template files that, if you wish, you can also delete. This utility is also useful when you want to try out the different Blog styles without uninstalling the whole Blog module. It returns Blog to the state similar to when you first installed the module. Of course, in case you want to remove Blog as well, just go ahead and uninstall in the normal way but AFTER you have cleaned-up . 10. Renaming Blog pages As mentioned previously, you can rename any of your Blog pages pre- or post-install. Want Diary or Journal instead of Blog? Sure, go ahead. Want Writers instead of Authors? What about Chronicles in lieu of Archives? You can have those too. The only things you should NOT do are to delete the main Blog pages (i.e. anything other than Example Tag, Example Category and Example Post) OR (however remote the chance of this is) CHANGE the IDs of these pages (in the database). In order to allow for flexibility, Blog stores and tracks its main pages using their IDs. 11. Fields and templates admin tag In step 1 of the installer you can choose to change the default name of the tag used to group Blog fields and templates in the admin. You can as well choose not to have any tag and let anarchy reign in your admin pages! 12. Context aware Most of the Blog dashboard is now context aware. It will only display info about Blog components that are installed. No comments? Fine, no comments in Posts dashboard, etc. Apart from ‘Posts’ dashboard, the other Blog dashboards will be labelled according to the titles of your main Blog pages. For instance, if you called ‘Categories’ ‘Classifications’, that is the name you will see in the ‘Categories’ dashboard label. Same for Authors, Tags, etc. Even Cleanup is context aware and will only list components related to the Blog style you installed. OK, so how do I get Blog 2? You can install via ProcessWire modules screen. get it on the dev branch of Blog in GitHub. It is also attached below (please use Github - it is the latest version). I thoroughly tested this but I probably missed something or mixed up my code somewhere so there could be bugs . Please help me find and swat them, thanks! Next post, updating Blog 1 to 2.3 points
-
2 points
-
Ah, right! Completely didn't even realise this whole setup is built on jQuery UI. (Still new to the PW game, so haven't explored everything as yet.) Module should be coming out in a week or so (beta). Can't confirm that, though, because I honestly don't know which way is up these days.2 points
-
Thanks for the feedback. I would also thank Ryan for putting us on the processwire.com/demo page. Let me explain the behavior of the default lightning_admin user: This user is created during setup with a super long and random password. We use it for the global login. If you login with your email, ProcessWire finds no matching user. Then our LightningHelper module tries those login data with our lightning.pw service. If there is a user/pw match, then we login the lightning_admin user. To prevent users from locking themselves out, we disabled the "edit user" page for the lightning admin as well as direct login with that user (for security). If you need to access the user settings, just create a new user with the superuser role and login. Then you can use everything as expected.2 points
-
Yeah, I kind of read that only after posting this here. Oh boy, duplicate content!2 points
-
On a fresh installation, I'm not seeing this issue. Name and Permissions are the defaults if you don't select anything. I'm guessing maybe you had it installed before we had this fully configured, but as far as I can tell it's not an issue anymore. Though let me know if you experience something different on a fresh install. @GuruMeditation thanks for the excellent instructions. I was able to reproduce it easily and likewise fix it easily. The latest version fixes this issue.2 points
-
Or give up on RTE fields for images completely and use PageTableExtended for a content block type approach I have actually been removing the images plugin from CkEditor so that users can't be tempted I know that maybe sometimes this will be overkill to set up, but it is nice having complete control of how things will look. For simple sites, I bet ImageInterceptor will be very useful.2 points
-
@dupalski: for the record, you might want to check out the "beginner site profile" Ryan has posted here. Just to be very clear: include files (.inc, .php, whatever) are definitely not a requirement.. and on very simple sites they just make things more complicated. On larger and more complex sites that situation changes drastically.2 points
-
@Bernard, Thanks for wanting to test. If you are using ProcessWire 2.4 (I think) and above, you can update modules from within admin. If you upload a module that already exists, ProcessWire will automatically upgrade the existing one with the uploaded one. Until Blog version 2 is available in the modules directory, you now have two options of updating from version 1 to 2. Method 1 Download the above Blog 2 zip package to your computer. Go to ProcessWire modules screen, click the tab New and scroll down install module via upload (or something to that effect - I am writing this from memory). Upload the zip file you downloaded in #1. ProcessWire will do its magic. Follow the rest of the instructions in post #124 above about updating. Method 2 Go to ProcessWire modules screen, click the New tab and scroll down to install module via URL (or something to that affect). Enter the URL of the dev branch of the Blog project website - link. ProcessWire will update the Blog module. Follow the rest of the instructions in post #124 above about updating. That's it2 points
-
Apparently I like both sides of this argument What about doing this to the classname? strtolower(preg_replace('/([a-z])([A-Z])/', '$1_$2', $this->className()));2 points
-
Is my 100th post I wanted to do something special. I edited a video, hope you like it Just for fun Edited: Now with subtitles1 point
-
Dynamic Roles are a powerful access control tool for ProcessWire. They pick up where traditional roles leave off, and allow you to assign permissions at runtime based on any factor present with the user. Once a user receives one or more dynamic roles (at runtime), those dynamic roles then specify what pages the user can view, edit, or add children to. If traditional roles are a sledgehammer, Dynamic Roles are a scalpel, allowing nearly any finely tuned access control scenario. Traditional ProcessWire roles are limited to assignment of view/edit/add access on a per-template basis. Dynamic roles go outside those limitations and enable you to assign that access based on any factors present with a page (i.e. match any field values). Dynamic Roles assign new access, but do not revoke existing access provided by traditional roles. As a result, Dynamic Roles can be used together with traditional roles, and the two work beautifully well together. Though Dynamic Roles can also replace all situations where you would use traditional roles for access control assignments. If using Dynamic Roles to assign page-view access, you would typically want to use traditional roles to revoke view access from at least the "guest" role at the template level. Then use Dynamic Roles to assign view access to those pages in a more granular manner. This module directly affects the results of all page getting/finding operations by applying the access control directly to the database queries before pages are loaded. As a result, it is fast (regardless of scale), pagination friendly, and requires no further intervention by the developer other than configuring the dynamic roles as they see fit. Because it relies upon new features present only in ProcessWire 2.4.6+, it requires the current dev branch. Sponsored by Avoine Concept by Antti Peisa Code by Ryan Cramer PLEASE NOTE: This module is in pre-release state (like the PW dev branch it requires) and is not recommended for production use just yet. Though we do appreciate any testing and/or feedback that you are able to provide. While not required, this module benefits from ProFields Multiplier. If you have ProFields Multiplier installed before installing this module, it will make this module more powerful by making all of your access control selectors have the ability to use OR-group conditions. Depending on your access control needs, this enables you to accomplish more with fewer Dynamic Roles. How to install Make sure you are running ProcessWire 2.4.6 (dev branch) or newer. Download from GitHub (we will add this module to the Modules directory later). Place all files from this module in /site/modules/DynamicRoles/. In your admin, go to Modules > Check for new modules. Click "install" for the Dynamic Roles module (ProcessDynamicRoles). Click to Access > Dynamic Roles for the rest (see example and instructions below). Example and instructions Lets say you ran a Skyscrapers site and wanted a role enabling users with "portmanusa.com" in their email address to have edit access to skyscrapers designed by architect John Portman, with at least 40 floors, and built on-or-after 1970. Yes, this is an incredibly contrived example, but it is an example that also demonstrates the access control potential of this module. 1. In your admin, you would click to Access > Dynamic Roles. 2. Click "Add Dynamic Role". Enter a name for the dynamic role, like: "skyscraper-test-editor" and save. 3. Under "Who is in this dynamic role?" section, click "Add Field" and choose: Email => Contains Text => "portmanusa.com". This will match all users having "portmanusa.com" in their email address. 4. Under "permissions" check the boxes for: page-view and page-edit. 5. For this contrived example, we will assume the user already has view access to all skyscrapers, so we will leave the "What can they view?" section alone. 6. For the "What can they edit?" section: Click "Add Field" and choose: template => Equals => Skyscraper. Click "Add Field" and choose: architect => Equals => John Portman. Click "Add Field" and choose: floors => Greater Than Or Equal => 40. Click "Add Field" and choose: year => Greater Than Or Equal => 1970. 7. Click Save. Now users matching the conditions of your dynamic role will be able to edit the matching pages, but not any others (unless assigned by traditional roles).1 point
-
UPDATE: 14.09.2014 We've launched lightning.pw! Create a new ProcessWire site in under 30 seconds with lightning.pw . Our new service will help developers to work together on a new site, enable new ProcessWire users to explore the CMS and you can now easily test a feature or module. Our goal was to replace the long localhost setups so that you can instantly start developing. Features Current launch features: Create new ProcessWire sites Choose between ProcessWire 2.4 and 2.5 or the latest dev version Choose a profile on installation We setup a custom subdomain and will provide you a FTP login for file access ProcessWire works as expected. Every feature (except PHP sendmail) works. Install modules, write templates and create new sites as you wish Dashboard to manage multiple sites Upgrade (or downgrade) ProcessWire with a single click Free Hosting for module developers. Planned features: Save and use your own installation profiles Custom subdomain names github/bitbucket integration Create snapshots of your site Free integration of minimize.pw for image compression Pricing lightning.pw is free to use. You can buy credits to expand a site after the free usage timeframe of seven days. Credits start at 3€ per month but get cheaper the more you buy. If you develop a customer site for an average of 6 months, you would pay 15€ for the whole development setup. If you think the price is high, please notice that we don't want to oversell our servers and that we want to build further features. If you have developed a free module for ProcessWire, you can contact us to get free hosting for your showcase or development site. Bonus: You can use the coupon code PROCESSWIRE to get a free month. Just enter the code under the Payment section on the dasboard. About The first intention for this project was our own need for a simple development solution. lightning.pw is build with Ruby on Rails and uses a custom written ProcessWire installer. We worked hard to maximize security and stability of the service. We create a backup of every site every 12h and can scale within minutes if server load increases. You can ask questions here on the forum or follow us on Twitter for updates (and maybe coupon codes ) Try lightning.pw and tell us what you think. We appreciate every form of feedback! --- original post --- I will keep this short. We worked on a new project for the last couple of days. Instant ProcessWire hosting for development, testing and as a showcase for ProcessWire. The idea was on our mind for over a year, rested when the community won the bitnami contest but was finally started when we needed a better tool for our internal development. Excuse my bad mix of Englisch and German and watch the short video that explains and shows the basics: The features includeInstallation of any ProcessWire version in under 60 seconds Complete setup of a profile for ProcessWire, you can select the profile FTP access to the /site/ directory Login to ProcessWire with your lightning.pw account Own and custom subdomains Complete ProcessWire where everything works as expected Secured and fast server, restricted access and daily backups. Every site is free for seven days and will be deleted afterwards, except if you choose to extend the site with credits you bought. Module developers can host a showcase/demo for free. Our plan is to get the best experience for PW developers and small teams. Maybe it will help ProcessWire grow or maybe it will just stay a tool we use for our own sites. We have a github/bitbucket integration, custom profiles and an export workflow on our roadmap. We would be glad to hear your opinions and your feedback on this idea and the current execution. What feature would really make this attractive for you?1 point
-
Hello i allso want to ask How's the new version of the shop going??? i am very interest of buy! thank you.1 point
-
Hey Joss, I thought you might appreciate this: http://www.dancingbearmusicfest.com/ And here is a photo of the "Dancing Bear", white patch, right in the middle of the Stawamus Chief: http://3.bp.blogspot.com/-BGfk41qTmrw/TmlOZo2bq_I/AAAAAAAAAB0/AuWMKVgn8H4/s1600/Chief.jpg1 point
-
Yah as you speak $form->get('field') or find.. Basically it's a WireArray. Rings a bell?1 point
-
https://processwire.com/talk/topic/3925-project-management-for-developers-how-you-do-it/page-3#entry470381 point
-
Glad it worked for you and that you sorted out the row width stuff. I haven't played with sortable callbacks for a while, but I think this is what you are looking for: http://api.jqueryui.com/sortable/#event-update1 point
-
1 point
-
Not necessarily. A CMS can just give you the tools to implement functionality, it doesn't necessarily have to hand you the functionality on a silver platter. See Ryan's excellent statement on the whole “teach you how to fish” thing.1 point
-
not plug and play - but some read and learn..... 1. https://processwire.com/talk/topic/3006-display-a-list-calendar-using-a-date-field/#entry29865 (using this calendar script: http://fullcalendar.io/ 2. https://processwire.com/talk/topic/2435-tutorial-howto-create-a-simple-eventcalendar/ 3. google calendar..... regards mr-fan1 point
-
The 100 versions are for the admin - if you have "display thumbnails in page editor" checked on the Images field Input tab.1 point
-
For the record, https://processwire.com/talk/topic/7572-processwire-recipes/ is the discussion about a snippets site for PW.1 point
-
Clicking 'Like' is not enough. V2 is brilliant - being able to choose the url structure is an absolute killer, and (for me, anyway) being able to not have comments at all from the install process (when/if I get round to migrating my own blog (very neglected) from WP, I intend to use Disqus). Thank you Kongondo!1 point
-
1 point
-
This is free for non-commercial use: http://dhtmlx.com/docs/products/dhtmlxScheduler/ This is for server-side integration: http://dhtmlx.com/docs/products/dhtmlxConnector/1 point
-
Hi all I had a look to the processwire database and it is getting quite messy as not all developers seem to follow some kind of basic naming conventions. i.e. cache (is OK) CommentRatings (is not OK imho as Big and small Letters and beside this it does say nothing about if it is a field or a page or whatshowever) fieldgroups (is OK) ... than we have hana_code (is OK) link_ ... mb_ ... modules module_ ... pages_ ... page_ ... ProcessFieldChangeNotifier (why not process_fieldchangenotifier?)) ProcessRedirects (why not process_redirects) ProcessTrashman (why not process_trashman) process_ ... session_ ... ShoppingCart (again Big and small letters. IMHO it would be better to have shop_cart and than shop_order etc. ....) templates textformatter_ ... users_ ... version_control_ ... ------ To keep the database somekind logically and easy to search and look at it would be great to have some naming conventions in place: What Naming Convention exist in the ProcessWire? Are there any? fields_ pages_ page_ template_ process_ textformatter_ version_control_ users_ What about some additional ones like ? apps_ i.e. apps_commentsratings apps_shoppingcart etc Thanks Andi1 point
-
Those CamelCase tables are CamelCase because the classname of the module I think. And all of them are not written by Ryan I believe. Probably they used $this->className() as table name what makes perfectly sense to me.1 point
-
1 point
-
I think it makes sense to keep the direct output, since more advanced developers will most probably start with a blank state anyway.1 point
-
How's the new version of the shop going? I'm currently using Stripe, but with a third party cart/checkout app called SendOwl. It would be great, however, to bring everything under one roof, so to speak, and use PW for all my shop needs also. One burning question. I know you plan to support digital downloads, but will you also be allowing those downloadable files to be hosted on Amazon S3? If yes, I would probably weep with happiness Second burning question... it's sounds like this new shop module is not going to be a free module, right? Can you give any indication of price?1 point
-
No worries with the delay, I know you're a busy man Yeah that is now fixed, as Roles weren't showing for me at the time, but you fixed that issue a while ago. Adding the name field did indeed fix it. Maybe it would be an idea to have a note suggesting that we at least select the name field when we install it? I have just tested it again on a clean install and in a different browser and it is still the same. If I log out and then back in, the page is still visible. Thanks for your time.1 point
-
A few updates in response to the PDF that was posted earlier. More to come, but this is a start. Currently these are just on dev, but will be merged to master soon. The main README file has been updated with a link to the HTML version at the very top. I honestly think including a README.html file in the core itself is bad form because it reveals exactly what software is running the site. Some might have noticed our README files are generally blocked from http access (by the .htaccess file) for this very reason. So I think putting a link to the HTML version of the document at the top of the Markdown file is a good compromise. The default site profile has been updated with its own README file and separately hosted HTML version: Introduction to the default site profile, which goes in depth in explaining exactly how the site profile works. The template files have also been updated, telling the user to see README.txt for more information (though not sure that's really necessary).1 point
-
1 point
-
Just wanted to throw in my two cents. If you come at it as a front-end developer that's a complete beginner to CMSs, then PW should be very easy to get going. It's built around working the same way that existing web technologies work… Pages map in the same way that URLs do… Template files are just plain HTML/PHP files… the API is largely the same as a front-end API (jQuery)… and so on. So if you know your basic web technologies outside of CMSs, then you won't find a simpler system than ProcessWire. The problem is most other CMSs don't work that way. So the line gets more blurry when you've become used to the terminology and approach of another CMS, because PW can be quite different. Sometimes you have to unlearn what you know from elsewhere in order to appreciate the simplicity of PW. People are always trying to find complexity that isn't there, especially those that grew up on other platforms. PW is a system that rewards you by being curious. We aim to show you how to fish so that you can catch the big fish. We're not here to catch the fish for you. You don't have to know anything about fishing, but you should know how to yell for help if you fall in the water. And you should be willing to learn by example. I learn best by example, so this is the way I tend to teach too (and I recognize not everyone learns the same way). PW is a CMS and CMF, not a website builder. If you are curious and willing to explore, you'll find it is very simple indeed. Certainly far simpler than even WordPress in creating a custom website. You do have to come from the point of view of "I want to create and have the system adapt to me" rather than "I will create something based on what the system provides." If you already know what you want to create and it's something unique, you won't find a simpler path to get there than PW. WordPress is a different beast, in that it's basically saying "YOU WILL CREATE A BLOG or modify this blog and call it something else." Some people like that underlying structure… "okay, we're starting with a blog, what can we do with it?" Others do not like that underlying structure. Our audience consists of those that want to have a system support their original creation rather than mash up an existing creation. There was a PDF posted earlier that I think hit upon some good points, and I appreciate the effort that went into putting it together. The fictional character being scripted in the dialog is not our target. I can go into specifics if anyone wants me to, but I was definitely left feeling at the end of it that we have to be careful about hand-feeding too much or else we'll start attracting people beyond our support resources. Folks that want the fish cooked and filleted rather than folks learning to fish. Perhaps in time we will want to attract more of the consumer-type audience, but currently I don't know how to support users looking to find all the answers in a sitemap file. Keep in mind that unbridled growth is not necessarily desirable. Most of us don't get paid for most of the work we do here and we do best if we grow in a more healthy manner, attracting more thoughtful designer/developers that are here to learn and also contribute. Obviously the author of the PDF is one of the thoughtful ones (and the PDF is a great contribution), even if his fictional character isn't necessarily, but we'll welcome him anyway. But we will definitely be going through the PDF in more detail to learn and improve from it where appropriate, while keeping our audience in mind. I think we're doing something right, because our audience is growing rapidly. I'm nearly full time on ProcessWire now, and it's still difficult to keep up with everyone. At present, I like that our audience is largely open-minded, curious and thoughtful designers and developers. Somehow we've attracted an incredible quality of people and that's what makes this place great. We could not ask for a better group of people here. I'm reluctant to lead PW towards a website builder direction because I think that's when the quality of the community could go down, as people come looking to eat fish rather than learn, catch some fish, and throw some back. The reality is that part of our long term goals include converting the rather large audience that has outgrown WordPress into ProcessWire users. I'm convinced that we do that by giving them more ProcessWire, and not more WordPress. But at the same time, we always have to keep an eye on WordPress and learn. They've been lucky no doubt, but they are also doing many things right. So we have been and always will be working to make the WP-side of users more comfortable in ProcessWire, while also trying to help them grow by distancing them from the limited WP mindset.1 point
-
What you described here is the opposite of PW. Call it what you want, but if these are your requirements for a tool to call itself a CMS, than PW is not —and won't be— one. This can happen with site profiles though. We only have to wait that they appear, and they will with time.1 point
-
Thank you all. If you have something else on your "wishlist" for development let us know. We spent the last week working on a super boring SAP shop for a university project so progress slowed down a little bit. However, I've made a new video to show the latest features we've been working on. Beside the new "Create site" page and the workflow for new users, we build backend features like the version change and a backup system. The service always has the latest ProcessWire files from github and it's possible to schedule sites for deletion now. Some bugs are still open and the Help page was just started. Our plan is to launch the service to the public in the next week.1 point
-
pwFoo - you can't keep asking the same question about the database and expecting a reasonable answer. What data is in the database and what you're doing with it has as much impact on performance as the structure. Also, uniquely with Processwire, the "every field is a database table" approach could be slower in some areas, but since PW only grabs the data you need it could be quicker too (as in if your template file wants only the data from two fields but behind the scenes the API has to make two queries, those two queries could still be faster than pulling data from another CMS with a table containing dozens of fields. On the flip side there will certainly be occasions where a single table in another system will be faster than many tables in ProcessWire - depending on how well you put together your fields of course as it's up to you to make sure you do it efficiently. There is no easy answer and the only way to really test this properly is to build the exact same functionality as another system and see what the difference is. As for the underlying structure? I should imagine most of the frameworks are built for some sort of speed, but they're all abstracting away from PHP so if raw speed is what you're after and every millisecond counts then the best speed you'll see is probably to build something just in PHP bespoke to every situation. Of course that's a little crazy for a lot of projects as it will just take too long and requires you to know a lot more about PHP. I would just keep going with Processwire, take advantage of things like Procache and/or other caching methods where appropriate and it can be lightning fast for your end users. If you use Procache on more static pages you can essentially be skipping PHP and MySql completely and serving just HTML which is the quickest for your visitors, though certainly not appropriate for all pages.1 point
-
Would be cool to create a project management system using Processwire.. with the help of something like http://dhtmlx.com/ components. What do you think?1 point
-
This looks great Kongondo!! Although I don't know anything about MODX, I will read it tomorrow in the morning in my Kobo reader If someone else feels like, here is the ePub file that I created (Apparently I can't upload .epub files to the forum, so I'm sharing in Google Drive) https://docs.google.com/file/d/0B6RyV62pA8iwTm1BTnNOYmRYRDA/edit?usp=sharing1 point
-
You most likely ran out of memory. MAMP and other *AMP installs often come configured with 32 MB memory limit for PHP, which isn't enough to upload largish files via ajax. View your phpinfo to see where your php.ini file is located. Edit it, and change memory_limit to 256M. Also in php.ini, update post_max_size to be the same or larger. Restart server and double check that the changes took effect by finding memory_limit in your phpinfo output.1 point
-
Actually I gonna be busy with a little "site" where "players" can upload their multiple photo's, and "voters" on the other hand can vote on 1 uploaded photo out of the list. How to set-up this thing is still a little bit vague to me. Maybe I need an other "folder" for storing each vote ( template with image_name, players_id ) or something. ) ps. I'll post the whole thing over here: Configure Postfix for Gmail SMTP Edit file /etc/postfix/main.cf in this example it's done with nano in the terminal sudo nano /etc/postfix/main.cf and add in the following below the commented out relayhosts: relayhost = [smtp.gmail.com]:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_use_tls = yes Generate sasl_password if not already exists sudo nano /etc/postfix/sasl_passwd and enter in the following (replace username & password with your's ) [smtp.gmail.com]:587 username@gmail.com:password Then run the following commands: sudo chmod 600 /etc/postfix/sasl_passwd sudo postmap /etc/postfix/sasl_passwd sudo launchctl stop org.postfix.master sudo launchctl start org.postfix.master And you are done…. btw: Thank you Anuj Gakhar (www.anujgakhar.com)1 point