Git Product home page Git Product logo

processwire's Introduction

Welcome to ProcessWire 2.7

This document is in Markdown. An HTML formatted version of this document can be read at: https://processwire.com/download/readme

Table of Contents

  1. About ProcessWire
  2. Installing ProcessWire
  3. Upgrading ProcessWire
  4. Debug Mode
  5. Additional Resources

About ProcessWire

ProcessWire is an open source content management system (CMS) and web application framework aimed at the needs of designers, developers and their clients. ProcessWire gives you more control over your fields, templates and markup than other platforms, and provides a powerful template system that works the way you do. Not to mention, ProcessWire's API makes working with your content easy and enjoyable. Managing and developing a site in ProcessWire is shockingly simple compared to what you may be used to.

Installation

Requirements

  • A web server running Apache.
  • PHP version 5.3.8 or newer.
  • MySQL 5.0.15 or newer.
  • Apache must have mod_rewrite enabled.
  • Apache must support .htaccess files.

Installation from ZIP file

  1. Unzip the ProcessWire installation file to the location where you want it installed on your web server.

  2. Load the location that you unzipped (or uploaded) the files to in your web browser. This will initiate the ProcessWire installer. The installer will guide you through the rest of the installation.

Installation from GitHub

Git clone ProcessWire to the place where you want to install it:

git clone https://github.com/ryancramerdesign/ProcessWire 

Load the location where you installed ProcessWire into your browser. This will initiate the ProcessWire installer. The installer will guide you through the rest of the installation.

Troubleshooting Installation

The homepage works but nothing else does

This indicates that Apache is not properly reading your .htaccess file. First we need to determine if Apache is reading your .htaccess file at all. To do this, open the .htaccess file in an editor and type in some random characters at the top, like lkjalefkjalkef and save. Load your site in your browser. You should get a "500 Error". If you do not, that means Apache is not reading your .htaccess file at all. If this is your case, contact your web host for further assistance. Or if maintaining your own server, look into the Apache AllowOverride directive which you may need to configure for the account in your httpd.conf file.

If the above test did result in a 500 error, then that is good because we know your .htaccess file is at least being used. Go ahead and remove the random characters you added at the top. Now look further down in the .htaccess file for suggested changes. Specially, you will want to look at the RewriteBase directive, which is commented out (disabled) by default. You may need to enable it.

Resolving an Apache 500 error

The presence of an Apache 500 error indicates that Apache does not like one or more of the directives in the .htaccess file. Open the .htaccess file in an editor and read the comments. Note those that indicate the term "500 NOTE" and they will provide further instructions on optional directives you can try to comment out. Test one at a time, save and reload in your browser till you determine which directive is not working with your server.

Resolving other error messages or a blank screen

If you are getting an error message, a blank screen, or something else unexpected, see the section at the end of this document on enabling debug mode. This will enable more detailed error reporting which may help to resolve any issues.

In addition, the ProcessWire error log is located in the file: /site/assets/logs/errors.txt - look in here to see if more information is available about the error message you have received.

If the above suggestions do not help you to resolve the installation error, please post in the ProcessWire forums.

Upgrades

Best Practices Before Upgrading

  1. Backup your database and backup all the files in your site.
  2. When possible, test the upgrade on a development/staging site before performing the upgrade on a live/production site.
  3. Login to your ProcessWire admin under a superuser account before upgrading. This enables you to see more verbose output during the upgrade process.
  4. If you have 3rd party modules installed, confirm that they are compatible with the ProcessWire version you are upgrading to. If you cannot confirm compatibility, uninstall the 3rd party modules before upgrading, when possible. You can attempt to re-install them after upgrading. If uninstalling is inconvenient, just be sure you have the ability to revert if for some reason one of your modules does not like the upgrade. Modules that are compatible with ProcessWire 2.4-2.6 are generally going to also be compatible with 2.7.

If you prefer an automatic/web-based upgrade, an upgrade module is available for upgrading to 2.7. This upgrade utility can also help with upgrading other modules as well.

General Upgrade Process

Before upgrading, login to your ProcessWire admin under a superuser account. This is not required to upgrade, but is recommended for more verbose output during the upgrade.

Upgrading from one version of ProcessWire to another is a matter of deleting these files/directories from your old version, and putting in fresh copies from the new version:

/wire/
/index.php
/.htaccess 

Removing and replacing the above directory/files is typically the primary thing you need to do in order to upgrade. But please see the version-to-version specific upgrade notes documented further in this section. Further below are more details about how you should replace the files mentioned above.

After replacing the /wire/ directory (and the other two files if needed), hit reload in your browser, anywhere in the ProcessWire admin. You should see messages at the top of your screen about updates that were applied. Depending on which version you are upgrading from, you might also see error messages--this is normal. Keep hitting reload in your browser until you no longer see any upgrade related messages (up to 5 reloads may be necessary).

NOTE: Renaming is an alternative to deleting, which gives you a quicker path to revert should you want to. For example, you might rename your /wire/ directory to be /.wire-2.4.0/ with ".wire" rather than "wire" to ensure the directory is hidden, and the 2.4.0 indicating the version that it was. Once your upgrade is safely in place, you could delete that .wire-2.4.0 directory (or keep it around). If you keep old version dirs/files in place, make sure they are not http accessible. This is typically done by preceding the directory with a period to make it hidden.

Replacing the /wire/ directory

When you put in the new /wire/ directory, make sure that you remove or rename the old one first. If you just copy or FTP changed files into the existing /wire/ directory, you will end up with both old and new files, which will cause an error.

Note that the /wire/ directory does not contain any files specific to your site, only to ProcessWire. All the files specific to your site are stored in /site/ and you would leave that directory alone during an upgrade.

Replacing the /index.php file

This file doesn't change often between minor versions. As a result, you don't need to replace this file unless it has changed. But when in doubt, you should replace it.

Replacing the .htaccess file

This is also a file that does not always change between versions. But when it changes, it is usually important for security that you are up-to-date. When in doubt, replace your old .htaccess file with the htaccess.txt from the new version.

This file is initially named htaccess.txt in the ProcessWire source. You will want to remove your existing .htaccess file and rename the new htaccess.txt to .htaccess

Sometimes people have made changes to the .htaccess file. If this is the case for your site, remember to migrate those changes to the new .htaccess file.

If using ProCache
If you are using ProCache, it will have added some things to your .htaccess file. Copy these changes from your old .htaccess file to your new one. The changes are easy to identify in your previous .htaccess file as they start and end with a "# ProCache" comment. Alternatively, you can have ProCache re-apply the changes itself by logging in to your admin and going to Setup > ProCache.

Additional upgrade notes

  • Completing an upgrade typically requires hitting reload in your browser 1-5 times to apply database updates. If logged into your admin, you will see notices about the updates that it is applying on each reload.

  • After completing the upgrade test out your site thoroughly to make sure everything continues to work as you expect.

  • If using Form Builder make sure you have the latest version, as past versions did not support ProcessWire 2.4+. With ProcessWire 2.7 we recommend FormBuilder 0.2.5+.

  • If using ProCache and you upgraded your .htaccess file, you should go to your ProCache settings after the upgrade to have it update your .htaccess file again. If no upgrades to your .htaccess file are necessary, than the ProCache settings page own't mention it.

  • If using ListerPro, we recommend using version 1.0.9+ with ProcessWire 2.7.

Upgrading from ProcessWire 2.6

The general upgrade process may be followed to perform this upgrade. It is not necessary to replace your .htaccess file. You should replace these directories/files:

  • /wire/
  • /index.php
  • /COPYRIGHT.txt (if present)
  • /LICENSE.txt (if present)

Next, check if any of your modules would benefit from upgrades. If using any of the Pro modules, there are newer versions that provide additional capabilities for ProcessWire 2.6 dev and 2.7. Visit the relevant support board at the ProcessWire forums to download the latest.

Upgrading from ProcessWire 2.5

The general upgrade process may be followed to perform this upgrade. In addition, please note the following:

  • New index.php file We recommend replacing your index.php file with this upgrade, though it is optional (the changes are not critical).

Upgrading from ProcessWire 2.4

The general upgrade process may be followed to perform this upgrade. In addition, please note the following:

  • New .htaccess and index.php files
    While not urgent, you will want to replace your .htaccess and index.php files as part of the upgrade. If you have modified either of those files, it's okay to leave them in place temporarily, as you can still use ProcessWire 2.5 with the old .htaccess and index.php files in place. But we recommend updating them when you can.

  • Does your site depend on other sites loading it in an iframe?
    Related to the above point, the new .htaccess file contains an option that you will need to disable if your site relies upon other sites loading yours in an <iframe>. If this is your case, please delete or comment out this line in your .htaccess file:
    Header always append X-Frame-Options SAMEORIGIN

  • TinyMCE rich text editor was replaced with CKEditor
    2.5 dropped TinyMCE as the rich text editor and replaced it with CKEditor. After installation of 2.7, you will see an error message on any pages that use TinyMCE. From this point, you may either install TinyMCE or switch your fields using TinyMCE to CKEditor. To switch to CKEditor, go to Setup > Fields > [field] > Details, and change the Inputfield Type to CKEditor (it may already be selected), then be sure to Save.

  • Already have CKEditor or HTML Purifier installed?
    A couple of modules that were previously 3rd party (site) modules are now core (wire) modules in ProcessWire 2.7. If you have either the InputfieldCKEditor or MarkupHTMLPurifier modules installed, you will get warnings about that after upgrading. The warnings will tell you to remove the dirs/files for those modules that you have in /site/modules/. Don't be alarmed, as this is not an error, just a warning notice. But it is a good idea to remove duplicate copies of these modules when possible.

Next, review the upgrade instructions for 2.6 to 2.7 for any additional instructions.

Upgrading from ProcessWire 2.2 or 2.3

Newer versions of ProcessWire have these additional requirements:

  • PHP 5.3.8+ (older versions supported PHP 5.2)
  • PDO database driver (older versions only used mysqli)

Please confirm your server meets these requirements before upgrading. If you are not certain, paste the following into a test PHP file and load it from your browser:

<?php phpinfo();

This will show your PHP configuration. The PHP version should show PHP 5.3.8 or newer and there should be a distinct PDO section (header and information) present in the output.

To proceed with the upgrade follow the general upgrade process above. You will want to replace your index.php and .htaccess files as well.

In addition we recommend adding the following line to your /site/config.php:

$config->httpHosts = array('domain.com', 'www.domain.com'); 

Replace domain.com with the hostname(s) your site runs from.

Next, review the upgrade instructions for 2.5 to 2.6 and 2.6 to 2.7 for any additional instructions.

Upgrading from ProcessWire 2.1

  1. First upgrade to ProcessWire 2.2.
  2. Follow the instructions above to upgrade from ProcessWire 2.2.

Upgrading from ProcessWire 2.0

  1. Download ProcessWire 2.2 and follow the upgrade instructions in that version's README file to upgrade from 2.0 to 2.2.
  2. After successfully upgrading to 2.2, follow the general upgrade process above.

Troubleshooting an Upgrade

If you get an error message when loading your site after an upgrade, hit "reload" in your browser until the error messages disappear. It may take up to 5 reloads for ProcessWire to apply all updates.

If using Form Builder, make sure you have version 0.2.3 or newer, as older versions did not support ProcessWire 2.4+. For ProcessWire 2.7 we recommend using FormBuilder 0.2.4 or newer.

If your site still doesn't work, remove the /wire/ directory completely. Then upload a fresh copy of the /wire/ directory.

If your site still doesn't work, view the latest entries in your error log file to see if it clarifies anything. The error log can be found in: /site/assets/logs/errors.txt

If your site still doesn't work, enable debug mode (as described in the next section) to see if the more verbose error messages help you to determine what the issue is. If you need help, please post in the ProcessWire support forums.

Debug Mode

Debug mode causes all errors to be reported to the screen, which can be helpful during development or troubleshooting. When in the admin, it also enables reporting of extra information in the footer. Debug mode is not intended for live or production sites, as the information reported could be a problem for security. So be sure not to leave debug mode on for any live/production sites.

  1. Edit this file: /site/config.php
  2. Find this line: $config->debug = false;
  3. Change the false to true, like below, and save.
$config->debug = true; 

This can be found near the bottom of the file, or you can add it if not already there. It will make PHP and ProcessWire report all errors, warnings, notices, etc. Of course, you'll want to set it back to false once you've resolved any issues.

Additional Resources


Copyright 2015 by Ryan Cramer / Ryan Cramer Design, LLC

processwire's People

Contributors

apeisa avatar horst-n avatar ryancramerdesign avatar sinnut avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

processwire's Issues

Admin Pages Tree toggle children loading twice

There seem's to be a issue with the page tree when multiple times clicking a node with childrens, It loads its children nodes twice. If you click while the loading arrow appears and the again after loaded.

Upgrade script failed

Tried to upgrade my installation from 2.0 to 2.1 and got the following error:

Fatal error: Exception: Unknown column 'templates.flags' in 'field list' SELECT templates.id,templates.name,templates.fieldgroups_id,templates.flags,templates.cache_time,templates.data FROM templates ORDER BY templates.name (in /var/www/vhosts/my-domain.com/httpdocs/wire/core/Database.php line 72) #0 /var/www/vhosts/my-domain.com/httpdocs/wire/core/SaveableItems.php(132): Database->query(Object(DatabaseQuerySelect)) #1 [internal function]: WireSaveableItems->___load(Object(TemplatesArray)) #2 /var/www/vhosts/my-domain.com/httpdocs/wire/core/Wire.php(267): call_user_func_array(Array, Array) #3 /var/www/vhosts/my-domain.com/httpdocs/wire/core/Wire.php(229): Wire->runHooks('load', Array) #4 [internal function]: Wire->__call('load', Array) #5 /var/www/vhosts/my-domain.com/httpdocs/wire/core/Templates.php(83): Templates->load(Object(TemplatesArray)) #6 /var/www/vhosts/my-domain.com/httpdocs/wire/core/ProcessWire.php(116): Templates->init() #7 /var/www/vhosts/sto in /var/www/vhosts/my-domain.com/httpdocs/index.php on line 192

This error message was shown because the site is in DEBUG mode.

I hope that you have a solution for this... :-)

Thanks in advance!

/Jasper

admin root /processwire/ should not be system page

Attempting to change the name on the /processwire/ page gives an error that the name can't be changed because it's a system page. This is not the correct behavior, because people should be able to change the name of this page or move it wherever.

admin user has name "ryan"

Strange I found this. After you install and create a user (just leave 'admin' as suggested), it shows "ryan" as the name in hte pages table. :) If you login and just save admin profile it's gone...

sanitizer->selectorValue does not support cyrillic charachters

If we have cyrillic characters in $value then $sanitizer->selectorValue($value) will return a result without them.
Probably

$value = preg_replace('/[^[:alnum:]\pL \']/u', ' ', $value);
should to be replaced with:
$value = mb_eregi_replace('/[^[:alnum:]\pL \']/u', ' ', $value);

System accepts pagination URLs with number greater than available pages

If you have set your template to use page numbers, system automatically accepts any 'page%d' url segment. This however means, that for every number greater then actual page count, empty page is rendered (or else, depending on your html/css).

Instead system should either return information about missing page to let page administrator handle this, or simply return 404 and let the system's 404 page inform the user. Or combination of both, so webdesigners can use 404, but handle this situation different way, if they want.

Wrong output on ProcessPageList, when displaying date field

If you add datetime field as one of the "Name of page field to display", then it shows unix timestamp (or something similar), instead of chosen output (as defined in field settings).

Example output now:
Title of my page, 1305621900

It should be (in this case):
Title of my page, 17.05.2011 11:45

Call to a member function attr() on a non-object

I am getting this error message time to time when saving a template. Those templates that get's this have it every time I save them - no need to change anything.

Call to a member function attr() on a non-object (line 1027 of /var/www/lukio/lukio_fi/wire/modules/Process/ProcessTemplate/ProcessTemplate.module)

This error message was shown because you are logged in as a Superuser.

check_access=0 selector not working correctly

If I do super simple selector like: $pages->find('check_access=0'); it does gets all the pages from my site (hidden also). But when I try to combine it with anything else, it won't include hidden pages. Selectors like these only return visible pages:

$pages->find('parent=/liitto/, check_access=0');
$page->parent()->children('template=category, check_access=0');

Running on the latest version of P21

Issue after moving page to trash

When you move a page to the trash by dragging and dropping it into the trash in the page tree, you can't then empty the trash until you refresh the tree.

Not a major issue by any means!

Page can't be moved to trash

reported by doolak, pwforum:

when i try to delete a page, which template ("news_article") i gave permission to be used just for one parent template ("news"), it can't be deleted and i receive the following message:

Can't save page 1035: /trash/1035_abc/: Can't move '1035_abc' because Template 'admin' used by '/trash/' is not allowed by template 'news_article'.

http://processwire.com/talk/index.php/topic,451.0.html

transliteration of russian letters.

From a forum post: http://processwire.com/talk/index.php/topic,447.0.html

Hi Ryan, I have a request for adding transliteration of russian letters.

Could you add this to InputfieldPageTitle.js? (It seems like it's time for me to learn some Git )

1 to 1 letters:

str1 = "абвгдеёзийклмнопрстуфыэ"
str2 = "abvgdeeziiklmnoprstufye"

1 to >1 letters:

srch = ['ж', 'х', 'ц', 'ч', 'ш', 'щ', 'ю', 'я']
repl = ['zh', 'kh', 'tc', 'ch', 'sh', 'shch', 'iu', 'ia']

ignored letters:

ъ, ь

The above matching is taken from the state standard for new passports ГОСТ Р 52535.1-2006
More info on Russian alphabet

It may seem strange but there isn't any universal standard for russian alphabet letters transliteration. So it may become handy to have this match tables switchable somewere in PW. It would allow to choose transliteration standard (also may be handy for different locales of the website as transliteration of the same letters, possibly, may vary from language to language).

Thank you!

Page tree "move"

when clicking "move" before children are loaded, it appends toolbar again.. and again...

Page Render module settings page error

admin -> modules -> page -> page render
shows an error of a non existing "Page" folder in /site/assets/cache/

TemplateFile: DirectoryIterator::__construct(/Applications/XAMPP/xamppfiles/htdocs/P21/site/assets/cache/Page/) [directoryiterator.--construct]: failed to open dir: No such file or directory

after creating it manually it's gone

Changing case in fieldnames doesn't update table

When I changed a field name from Ad_code to ad_code the name of the table in the database wasn't updated.
This resulted in the following error:

  Table 'database.field_ad_code' doesn't exist

I tried changing the name into something different and that worked fine. It seems only be failing when changing case.

System doesn't save 'no trailing slash' preference (and is unable to save 0/unchecked as option)

ProcessWire doesn't save slashUrls: 0 into database when changing preference to 'no trailing slash'. In the JSON, there isn't even mention.

Tried playing with DB:

  • I set slashUrls to zero in JSON manually – system opened the website and removed trailing slash
  • in system (shown correct 'no slash' option checked), I set 'use slash' – system uses slashes, also in DB is slashUrl: 1
  • in system I set it to 'no slash': In DB, the slashUrl option is deleted from JSON, ans system continues to use default 'slash' version

I'm sure I only started to customize my install, so this bug should be even on clean installs; however, I'll try to confirm.

There's drag feedback on single image fields.

An image field with max allowed set to 1 , when on edit page -> the single image has sort drag cursor feedback... I think it would be a nice detail in this case to not have the move cursor. just minor

EDIT: was not able to understand what I've written here, even for me :D. just changed so I don't look like complete fool.

$input->post() doesn't seem to work

It seems that $input->post(field), version where you access field via function doesn't work, but returns following error:

Fatal error:  Call to undefined method WireInputData::get() in /path-to-pw/wire/core/Input.php on line 153

I unfortunately currently don't have time for clean install, but should be duplicable – I'm almost absolutely positive I haven't touch Input or any other file in core. This might also include accessing 'get' array as function. Accessing post as both object (->post->field) and array (->post['field']) works as expected.

template field changes not deleted/saved

Just installed latest git rep 2.1. After installing I can't remove fields from templates, trash icon removes item but after saving it's still there. Same with newly created templates, title field is there but adding new ones doesn't save them (which makes the whole thing pretty useless) ;)

minor: modules not installed summary/#href

Just some small things I noticed

  • I found it strange that on modules not yet installed there's no summary. Only when installed.
  • The links on the title of not installed modules have a blank #. (goes to top of page= annoying)

DB error

ProcessWire Error:Exception: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE (pages.parent_id=5868) AND (pages.status<1024) AND pages.templates_id IN' at line 4 (in /www/processwire/P21/wire/core/Database.php line 72)

Using latest version and just updated - and after update these started. I get these few a day when client updates the site. I haven't yet figured out how to repeat this.

Urgent: Multiple different child templates issue

I've created a page in my site root and added a child page and a child page to that, however now I'm getting a message when clicking on the first page I created:

"You don't have access to list page /databank/"

Obviously my page is called databank, but I'm not sure why I'm receiving the error? I didn't actually change any access permissions so they should be the default (I've since checked and they are).

It seems that if you nest multiple pages, each with different templates at different levels that PW is giving this error.

For example, create a page under Home, give it a child page and in turn give the child page a child page. Now create 3 templates and use a different one at each level of the tree - you should run unto the error above when trying to expand the tree on the Pages page (possible refresh required).

It's obviously a bit of an important issue as I can't now edit the pages I can't access ;)

(This is Pete on the forums BTW - just under my pseudonym).

Default children sorting when not logged in

There seems to be a sorting issue with children pages.
If set on parent page to "none", logged in as superuser lists the children as in the admin tree (expected). if not logged in it lists children in kind of unconsistent half random order... it's really strange, because listing the children for the topnav does work correct.

topnav does:
$homepage = $pages->get("/");
$children = $homepage->children;
$children->prepend($homepage);

foreach($children as $child) {
... sorting as expected for "none" ...
}

for a sublisting I do it like:

foreach($page->children as $child) {
... not constent ordering when not logged in.... ?
}

Anyone who can Administer Users can grant superuser rights

If you let some group to Administer Users, then users in that group are allowed to give themselves (or any other user) superuser rights - and also remove superuser rights from others. I think superusers should be only ones who can add/remove superuser rights.

System doesn't respect alpha channel on resize

Using following code:

$page->singleImageField->size(130,190);

picture: 24-bit PNG with alpha channel, standard Save for web from PS

expected: resized picture with transparent background & alpha channel
result: every pixel, which has alpha different then 1 is black.

Page can't be deleted

Can't save page 1177: /trash/1177_oel/: Can't move '1177_oel' because Template 'admin' used by '/trash/' is not allowed by template 'bild'.

If a template have set only to allow a certain parent template.

Minor text error on warning message

Security Warning: /site/index.php is writable and ideally should not be.

should probably be:

Security Warning: /index.php is writable and ideally should not be.

(there is no /site/index.php file after normal install - on my windows localhost at least)

Page field with radio Inputfield and option "multiple pages"

Minor but may considered. I've set up a page field which is used to select from a list of pages using radio boxes. When field setting set on multiple (page array) it doesn't remove not selected radios. It works though when field setting in on "single page" .

issue replacing Umlaute in page name / url / title

I've spoted a little issue in the way "Umlaute" are converted when entering the name of a page url (autofill feature).

German Umlaute like ä,ö,ü are converted to ae,oe,ue not a,o,u.

I took the time to make a quick fix in the InputfieldPageTitle.js

i've removed them from str1,str2 and the following line added:

// utf8 accented to ascii translation
var str1 = ":,àáâèéëêìíïîòóôùúûñçčćďĺľńňŕřšťýž";
var str2 = "--aaaeeeeiiiiooouuuncccdllnnrrstyz";

// replace Umlaute with the right double chars
name = name.replace(/ä/g, 'ae').replace(/ö/g, 'oe').replace(/ü/g, 'ue');

Problem with "who can add children" logic

There are some logical problems (also maybe one bug) how "who can add children" is managed.

I try my best to explain:

I have only one template that manages access (home). Although I have said that I don't want to manage access on any other templates than my home-template, I have to allow adding pages for "editors"-role in every template (otherwise they can only add pages under home page - which uses home template). That is cumbersome.

What is the bug part is that if I specify "Required Template for Children" then I don't even can add those checkboxes on "What user roles can add children to pages using this template?" section. (EDIT: unless the template that I choose does manage access, and I have one or more roles that have add-page permission on that template).

Part of the problem probably lies in the fact, that if I choose the "required template" to be something that does NOT manage access, then no one but superusers can add those children. Also it is little bit problematic, that roles other than superuser can add only pages with templates that DO manage access (but there it works right, that only those where they have page-add permission).

I think that it should be just other way around: if template does not manage access, then it is allowed for all roles that just have page-add permission.

As you can imagine current behavior will easily require that almost every template needs to manage access (and our noble intention is to avoid places where access is managed).

I hope this little sitemap helps to describe the problem:

HOME (manages access, editors can add pages, children: any)
-->NEWS (doesn't manage access, allowed children: news-item)
---->NEWS-ITEM (doesn't manage access, editors can't create these)
---->NEWS-ITEM
-->NEW PAGE (editors can add new pages here, but only template allowed is HOME).

PS: This was little hard to find since I do all the development as a superuser. I thought that I fixed my clients problem that "we cannot add pages anymore" by allowing them to add children on HOME template - but that didn't fixed it (to correctly fix this I would need to manage access on every template, and also check roles active on every templates children tab).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.