-
Posts
651 -
Joined
-
Last visited
-
Days Won
6
Everything posted by rick
-
I do think this is a great project, and there are many great ideas submitted by everyone. Based on my 'past-life' experience as a tech-writer, there are two approaches to this issue. One is from the target audience point of view, the other is from the product capability point of view. Since there are numerous entries in this topic where "I do it this way..." and "I do it that way...", let's set aside the point of view of the end user, and concentrate on the functionality. To do that, each entry should have at least the following things defined: The description of what the function does, The proper syntax for its use, The parameters defined, The return values defined, A simple example of each combination, And a link to the source code. I hate to admit it, but I really like the completeness of wordpress docs... https://codex.wordpress.org/Function_Reference/add_action It makes is very easy for any skill level to quickly obtain the necessary information to move forward. I also think it would be advantageous to use ProcessWire to present this information. Eating our own dogfood, kind of thing. I would like to participate on this team too, if I may.
-
As a newbie suffering from information overload, as I am sure others are as well, I hereby bring forth this topic from the deep dark archives for further discussion. PW is great for creating and managing the various aspects of a site. Most, if not all of my projects require a customized admin interface. By customized, I do not mean special css or js only files. It is more the end-user-centric workflow that is often required when satisfying client requirements. To me, this means that I limit the existing admin interface to that of a qualified user, whereas the everyday workflow needs to be presented in a manner consistent with current client procedures. My confusion stems from having so many options that I don't yet know about -- I discover something new everyday. There is a wealth of information, suggestions, examples, etc., that the more experienced users have graciously provided ( and I want to thank them for their time and contribution ). These numerous references have lead me to re-factor multiple times, at a cost of time and productivity, in order to obtain the most efficient means of implementation; As ProcessWire's design itself has done. Some of my projects are web-based applications only, which are integrated with a client's existing site. It would be nice to see how to tailor an administrative interface to fit any existing corporate identity standards. I would also like to see the 'custom' aspect of such a tutorial address the proper way to implement an advanced back-end. I realize that PW allows us to do whatever we want by staying out of our way, and that was the primary 'selling-point' when I elected to use PW for development. But from this simplicity comes a confusion, or complexity, when attempting to design and implement an advanced back-end, eg., what tools are available for a specific task? For example, if you don't know that you should use a repeater in these circumstances, or a pagearray for that, or..., you are left falling back on what you know, which causes you to re-invent a wheel that PW currently has in place. I understand that it would be impossible to generate a sort-of overall task-analysis:procedural site map since we would be talking permutations. So why don't we use a common client scenario, and build upon it?
-
Howdy all, Is there are setting which will leave the 'system fields', columns, and notifications displayed, or remain in the current state? The checkbox to display hidden system fields is reset if you navigate away from that page, and later come back. The displayed (viewable) columns (eg, in user list) is reset when you navigate away from the page and later come back. There are some notifications (in the accordion header of admin) which are removed after an elapsed time. I haven't found any reference to such a 'toggle' setting, but that doesn't mean I didn't overlook one. ...Or more.
-
Welcome to the board mauricius. This is a great module! Thanks for your work. Can't wait to try it out. Do you plan an alpha release soon? [edit] Fast trigger finger
-
Just a quick follow-up. There is no error in the PW htaccess file when running ubuntu 14.04 lamp stack. The error is, however, with ubuntu's tasksel installation of the lamp server. It missed some php5 items, such as apcu, gd, curl, etc., but they were later installed without issue.
-
I know this error is caused by something simple in the htaccess file that I am overlooking, but I've been staring at it for hours with no luck. Can I get a fresh set of eyeballs on it please. This is an ssl only site. The site works with a test.php file in document root, but fails when trying to access PW's index.php. I've also read through this, https://github.com/ryancramerdesign/ProcessWire/issues/513 ################################################################################################# # START PROCESSWIRE HTACCESS DIRECTIVES # @version 2.5 # @indexVersion 250 ################################################################################################# # ----------------------------------------------------------------------------------------------- # Don't show directory indexes, but do follow symbolic links # 500 NOTE: Some cloud hosting companies don't allow +FollowSymLinks. # Uncomment +SymLinksifOwnerMatch and comment +FollowSymLinks if you have 500 errors. # If that doesn't resolve the error, then set it back to +FollowSymLinks. # ----------------------------------------------------------------------------------------------- Options -Indexes Options +FollowSymLinks # Options +SymLinksifOwnerMatch ## I changed this with no luck. # ----------------------------------------------------------------------------------------------- # Let ProcessWire handle 404s # ----------------------------------------------------------------------------------------------- ErrorDocument 404 /index.php # ----------------------------------------------------------------------------------------------- # Handle request for missing favicon.ico/robots.txt files (no ending quote for Apache 1.3) # ----------------------------------------------------------------------------------------------- <Files favicon.ico> ErrorDocument 404 "The requested file favicon.ico was not found. </Files> <Files robots.txt> ErrorDocument 404 "The requested file robots.txt was not found. </Files> # ----------------------------------------------------------------------------------------------- # Protect from XSS with Apache headers # ----------------------------------------------------------------------------------------------- <IfModule mod_headers.c> # prevent site from being loaded in an iframe on another site # you will need to remove this one if you want to allow external iframes Header always append X-Frame-Options SAMEORIGIN # to prevent cross site scripting (IE8+ proprietary) Header set X-XSS-Protection "1; mode=block" # prevent mime-based attacks via content sniffing (IE+Chrome) # Header set X-Content-Type-Options "nosniff" </IfModule> # ----------------------------------------------------------------------------------------------- # Protect ProcessWire system files (part 1A) for Apache versions older than 2.4: # APACHE 2.4+ NOTE: Comment out this section and uncomment second 1B below it. # ----------------------------------------------------------------------------------------------- #<FilesMatch "\.(inc|info|info\.json|module|sh|sql)$|^(\..*)$"> # Order allow,deny #</FilesMatch> #<Files .htaccess> # Require all denied #</Files> # ----------------------------------------------------------------------------------------------- # Protect ProcessWire system files (part 1B) for Apache versions 2.4 and newer: # APACHE 2.4+ NOTE: Uncomment this section and remove or comment out section 1A above. # ----------------------------------------------------------------------------------------------- <FilesMatch "\.(inc|info|info\.json|module|sh|sql)$|^(\..*)$"> Require all denied </FilesMatch> <Files .htaccess> Require all denied </Files> # ----------------------------------------------------------------------------------------------- # Override a few PHP settings that can't be changed at runtime (not required) # 500 NOTE: Try commenting out this entire section below if getting Apache 500 errors. # ----------------------------------------------------------------------------------------------- #<IfModule mod_php5.c> # php_flag magic_quotes_gpc off # php_flag magic_quotes_sybase off # php_flag register_globals off #</IfModule> # ----------------------------------------------------------------------------------------------- # Set default directory index files # ----------------------------------------------------------------------------------------------- DirectoryIndex index.php index.html index.htm # ----------------------------------------------------------------------------------------------- # ProcessWire requires mod_rewrite # ----------------------------------------------------------------------------------------------- <IfModule mod_rewrite.c> RewriteEngine On AddDefaultCharset UTF-8 # ----------------------------------------------------------------------------------------------- # If you only want to allow HTTPS, uncomment the RewriteCond and RewriteRule lines below. # ----------------------------------------------------------------------------------------------- RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L] # ----------------------------------------------------------------------------------------------- # Set an environment variable so the installer can detect that mod_rewrite is active. # Note that some web hosts don't support this. If you get a 500 error, you might try # commenting out this SetEnv line below. # ----------------------------------------------------------------------------------------------- <IfModule mod_env.c> # SetEnv HTTP_MOD_REWRITE On </IfModule> # ----------------------------------------------------------------------------------------------- # OPTIONAL: Set a rewrite base if rewrites aren't working properly on your server. # And if your site directory starts with a "~" you will most likely have to use this. # ----------------------------------------------------------------------------------------------- # RewriteBase / # RewriteBase /sc/ # RewriteBase /~user/ # ----------------------------------------------------------------------------------------------- # Access Restrictions: Keep web users out of dirs that begin with a period # ----------------------------------------------------------------------------------------------- RewriteRule "(^|/)\." - [F] # ----------------------------------------------------------------------------------------------- # OPTIONAL: Redirect users to the 'www.' version of the site (uncomment to enable). # For example: http://processwire.com/ would be redirected to http://www.processwire.com/ # ----------------------------------------------------------------------------------------------- # RewriteCond %{HTTP_HOST} !^www\. [NC] # RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # ----------------------------------------------------------------------------------------------- # OPTIONAL: Send URLs with non name-format characters to 404 page # Remove this section if it interferes with URLs of any other software you may be running. # ----------------------------------------------------------------------------------------------- RewriteCond %{REQUEST_URI} "[^-_.a-zA-Z0-9/~]" RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?it=/http404/ [L,QSA] # ----------------------------------------------------------------------------------------------- # Access Restrictions: Protect ProcessWire system files # ----------------------------------------------------------------------------------------------- # Allow screenshot files (for install.php only: this 1 line below may be removed after install) #RewriteCond %{REQUEST_URI} !(^|/)site-[^/]+/install/[^/]+\.(jpg|jpeg|png|gif)$ # Block access to any htaccess files RewriteCond %{REQUEST_URI} (^|/)\.htaccess$ [NC,OR] # Block access to protected assets directories RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/assets/(cache|logs|backups|sessions|config|install|tmp)($|/.*$) [OR] # Block acceess to the /site/install/ directory RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/install($|/.*$) [OR] # Block dirs in /site/assets/ dirs that start with a hyphen RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/assets.*/-.+/.* [OR] # Block access to /wire/config.php, /site/config.php, /site/config-dev.php, and /wire/index.config.php RewriteCond %{REQUEST_URI} (^|/)(wire|site|site-[^/]+)/(config|index\.config|config-dev)\.php$ [OR] # Block access to any PHP-based files in /templates-admin/ RewriteCond %{REQUEST_URI} (^|/)(wire|site|site-[^/]+)/templates-admin($|/|/.*\.(php|html?|tpl|inc))$ [OR] # Block access to any PHP or markup files in /site/templates/ RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/templates($|/|/.*\.(php|html?|tpl|inc))$ [OR] # Block access to any PHP files in /site/assets/ RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/assets($|/|/.*\.php)$ [OR] # Block access to any PHP files in core or core module directories RewriteCond %{REQUEST_URI} (^|/)wire/(core|modules)/.*\.(php|inc|tpl|module|info\.json)$ [OR] # Block access to any PHP files in /site/modules/ RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/modules/.*\.(php|inc|tpl|module|info\.json)$ [OR] # Block access to any software identifying txt files RewriteCond %{REQUEST_URI} (^|/)(COPYRIGHT|INSTALL|README|htaccess)\.(txt|md|textile)$ [OR] # Block all http access to the default/uninstalled site-default directory RewriteCond %{REQUEST_URI} (^|/)site-default/ # If any conditions above match, isssue a 403 forbidden RewriteRule ^.*$ - [F,L] # ----------------------------------------------------------------------------------------------- # Ensure that the URL follows the name-format specification required by ProcessWire # ----------------------------------------------------------------------------------------------- RewriteCond %{REQUEST_URI} "^/~?[-_.a-zA-Z0-9/]*$" # ----------------------------------------------------------------------------------------------- # If the request is for a file or directory that physically exists on the server, # then don't give control to ProcessWire, and instead load the file # ----------------------------------------------------------------------------------------------- RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !(favicon\.ico|robots\.txt) # ----------------------------------------------------------------------------------------------- # OPTIONAL: Prevent ProcessWire from attempting to serve images or anything in /site/assets/. # Both of these lines are optional, but can help to reduce server load. However, they # are not compatible with the $config->pagefileSecure option (if enabled) and they # may produce an Apache 404 rather than your regular 404. You may uncomment the two lines # below if you don't need to use the $config->pagefileSecure option. # ----------------------------------------------------------------------------------------------- # RewriteCond %{REQUEST_FILENAME} !\.(jpg|jpeg|gif|png|ico)$ [NC] # RewriteCond %{REQUEST_FILENAME} !(^|/)site/assets/ # ----------------------------------------------------------------------------------------------- # Pass control to ProcessWire if all the above directives allow us to this point. # For regular VirtualHosts (most installs) # ----------------------------------------------------------------------------------------------- RewriteRule ^(.*)$ index.php?it=$1 [L,QSA] # ----------------------------------------------------------------------------------------------- # 500 NOTE: If using VirtualDocumentRoot: comment out the one above and use this one instead. # ----------------------------------------------------------------------------------------------- # RewriteRule ^(.*)$ /index.php?it=$1 [L,QSA] </IfModule> ################################################################################################# # END PROCESSWIRE HTACCESS DIRECTIVES #################################################################################################
-
One other thing. Have you upgraded from apache 2.2 to 2.4? If so, there are a ton of things that have changed. See here http://httpd.apache.org/docs/trunk/en/upgrading.html [edit] I see that you are running 2.4 Start here... <Directory /home/me/www/testes.dev/public_html/> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> Notice the order deny allow has gone away.
-
This is great! I have one upcoming project in particular where this feature will be necessary. Thanks for setting this up!
-
What is your document root set as in sites-enabled? You may need to set the basepath in your htaccess to match. /testes.dev/public_html/ Is testes spelled correctly? It is odd that an update would break a previously working configuration, but I don't know what they are updating. I have noticed an increase in updates to 14 recently, but haven't gotten any notices about security issues from various services. On an unrelated note, I would change Indexes to -Indexes to prevent listing the directory contents, especially on a production server. If I remember correctly, apache will want you to specify either + or - for each item if you specify that flag for one item. In other words, if you use "-" on one option, you need to use either "+" or "-" on all others. So that line would look like Options -Indexes +FollowSymLinks +MultiViews On another unrelated note I run ubuntu as well. How do you like 15? I'm running 14 LTS and haven't updated to 15.
-
Nicely done!
-
Editor Usability in the ProcessWire Admin interface
rick replied to SwimToWin's topic in Wishlist & Roadmap
Dagnabit! Y'all have quick trigger fingers.- 6 replies
-
- 2
-
-
- usability
- user experience
-
(and 3 more)
Tagged with:
-
Editor Usability in the ProcessWire Admin interface
rick replied to SwimToWin's topic in Wishlist & Roadmap
I would also like to add to what thetuningspoon posted. The bigest problem that I have observed with develpopeing any application is where users not knowledgeable in the technology request more and more 'one-click' solutions to the tasks they wish to perform. I'm not knocking these users at all -- We all started with no understanding (and we should never forget that). I personally, however, do not think it is the correct approach to modify PW in this manner. It is a framework upon which we as developers build an application, and subsequently a simple-to-use interface. I only ever intend to expose the PW administration to any of my clients that are qualified, otherwise, I will construct an interface for them to use. As developers, our target audiences have a wide range of skills; from no skill at all, to the skill levels seen from the members of this forum (excluding myself). Although PW is presented as usuable by skill levels between this range, I think the responsibility lies with the user to learn the platform we recommend (assuming we pick the platform that best fits their capability and functional requirements). If they are unable or unwilling, then they might want to stick with - *shudder* - wordpress. Being new to ProcessWire myself, I am learning more and more about its capabilities, and my capabilities using it, as my framework of choice. Does PW fit every requirement? Of course not. But, in my humble opinion, it is the most robust and developer-friendly CMF I have found.- 6 replies
-
- 3
-
-
- usability
- user experience
-
(and 3 more)
Tagged with:
-
Thanks adrian and pwired. I do have debug on, and any other option I can set to offer info while 'in dev mode' I'll check those links you posted. [edit] @adrian: I am using Ryan's procedure found here, https://processwire.com/talk/topic/107-custom-login/?p=735
-
Non of those options made a difference. I've been working on two items, logging in with email rather than username, and per user type profiles. I've removed all the changes except for the cloned user templates and associated pages. I can now log in. It obviously has to be pilot error, so I will re-apply the changes, noting at each step where any failure might ocurr, and report back. Thanks pwired for the input.
-
Howdy folks! Hope everyone is having a great weekend. I have a slight problem. I am no longer able to login from the admin page. It continuously displays the login page. I have not changed my password or my user name, nor made any changes in /wire. I tried this approach, processwire-recipes.com/recipes/resetting-admin-password-via-api/ but I get the following errors: Trying to get property of non-object in /[localhost]/sc/wire/core/Page.php on line 1459 Fatal error: Call to a member function hasField() on a non-object in /[localhost]/sc/wire/core/Page.php on line 1459 Error: Call to a member function hasField() on a non-object (line 1459 of /[localhost]/sc/wire/core/Page.php) The last entry in apache error log that was not a stack trace was: PHP Notice: Object of class InputfieldSelect could not be converted to int in /[localhost]/sc/wire/core/InputfieldWrapper.php on line 652, referer: http://localhost/sc/scadmin/setup/field/edit?id=127 Any suggestions would be greatly appreciated. P.S. Speaking of the apache error log. Is there any way of turning off all the entries? I have error_reporting( E_ALL & ~E_DEPRECATED & ~E_NOTICE ); set in /site/config.php but my error log is currently over 3M worth of stack traces just from today's work. P.P.S. I think I will pour myself a glass of scotch. Cheers!
-
@Soma I'm using FF so it could be the issue you speak of. Great work, btw. One question. Is there a setting or query string option to have the complete lists expanded by default? @adrian I use the page content search as well, but wasn't sure whether my search result would be on that page, since I'm new to how everything functions.
-
All of my projects will require a custom admin interface to ACL'd functionality. What is the recommended approach to create administrative interfaces that maintain current and future compatibility?
-
First time installing this module.
-
I receive the following error when trying to install FormHelperExtra: Unable to install module 'FormHelperExtra': SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'fhStorage' for key 'name' I just undated wire to 2.6.12 a few minutes ago.
-
Sorry if I missed it, but I haven't found any info on the password field not present in settings. It says the password is stored in the database but there is no field in which to enter the password. Consequently, the test fails. What have I not configured correctly? [edit] This was present in 2.6.10, and now 2.6.12 dev.
-
ProcessWire Site Header and Footer Used in WordPress Blog
rick replied to quickjeff's topic in API & Templates
As Pete and Martijn have suggested, you can automate including the PW-app header and footer in your WP theme file. What I take from your statement, "...the user visiting the website will see they have not left the site but is now viewing a blog..." tells me that the blog is a secondary application to the PW-app. In other words, the WP-blog is not the primary attraction or interaction, but more of an add-on feature to your site. If that is the case, have you considered using http://modules.processwire.com/modules/process-blog/ rather than two applications? On a related note, I have no idea if WP has changed it's user login since I last worked with it, but you also have to consider that the admin-user login in PW is not the same as in WP. This will require the administrative user(s) to log in twice, once if working in PW and once in WP, or, you will probably need to write a bridge to log into both apps with one interaction if you want them to have access at the same time.- 25 replies
-
- caching
- header include
-
(and 1 more)
Tagged with:
-
Hi Peter, When I first looked at PW, the docs were referring to templates. I admit that my first impression was based on cursory observations. After looking at CMSs and framework applications for two weeks straight, I assumed that PW was the same as the rest, and dismissed it as such. I had basically resolved myself to writing my own CMF (not CMS) to complete some upcoming projects. The version I looked at was current two weeks ago (I don't recall the version number). I have since been running the dev version. I am still trying to recall the issue I was researching when I came across a solution that mentioned PW. At that time, I looked more in-depth, and I am glad I came back and gave it a second chance. I really like the structure and how well engineered it is. Ryan has done an amazing job, and the support here is from highly skilled programmers as well. I have nowhere near the skill level they have, which is causing me some headaches trying to adjust to the page and template context of PW from what I have experienced in the past. That is not a deterrent, it simply means my learning curve is somewhat vertical.
-
Y'all might want to grab your sun-glasses. That extra illumination y'all see in here, it's from the light that just came on. Thanks thetuningspoon.
-
Thanks adrian. One follow-up question. Why is this necessary? When searching for 'of(', '->of', etc., no results are found. In fact, the cheatsheet search renames my search to '- of' (greater than is replaced with a space). I don't know what software is used to present the docs, so I don't know how difficult it would be to add an 'un-filtered' search option. Can the references be 'upgraded' to include the 'why'? In the technical docs I've written in the past, I always included the 'what' (what it is), the 'how' (how its used, as in examples), and 'why' (why its used). Currently, the references only provide the 'what', with the ocassional 'how' in response to a specific question. I'm not knocking the docs. As a beginner with PW, the additional information would answer almost all of my noob questions. On a related note, PW has quite a few people that contribute to it's functional development, and it's support here in the forums. I don't have the internal PW knowledge to make those contributions, ...yet. The only skill set I posses at this juncture is assisting in ehancing the docs. I'll be glad to volunteer to extend the reference materials, if that is something y'all have had on the drawing-board. </ thinkingoutloud> Thanks again adrian.
-
I have seen, $user->of(false); // do something with $user $user->save(); $user->of(true); in a few places. But I can't find it's reference in the cheatsheet or doc. What the heck is of() ?