*Arches 4.1.0 release notes (*see 
https://github.com/archesproject/arches/blob/4.1.0/docs/releases/4.1.0.md 
for a nicely formatted version of this announcement*)*

The Arches team has been busy trying to improve Arches and fix a several 
bugs as well.
Below you'll find a listing of all the changes that are included in the 
latest release.

Some of the highlights:
- Upgraded django to 1.11 (LTS)
- Added the ability for users to self signup to Arches
- Added a page for users to manage their profile
- Improved the loading speed of reports and forms
- Added the node-value datatype
- Many other small improvements

*Upgrading Arches*
Users are encouraged to update at their earliest convenience.  Completely 
re-installing Arches is the easiest way to accomplish this.

If you can't completely re-install Arches (because you have data in the 
system that you want to preserve) then you'll need to upgrade by running 
the following commands in your activated virtual environment:

```
pip install arches --upgrade
python manage.py migrate

```

As always the documentation can be found at 
http://arches4.readthedocs.io/en/stable/

*Upgrading an Arches project*
If you already have a project created with Arches 4.0 and you want to 
continue using that project, you will need to make a few changes so that it 
is compatible with 4.1.
When making changes, be sure to replace 'your_projects_name' in the code 
examples below with your project's actual name.
Required Changes:
1. Add the following lines to the bottom of your projects 'wsgi.py' file:
   ```
   from arches.app.models.system_settings import settings
   settings.update_from_db()
   ```
2. The following changes were made to the 'urls.py' file:
    - These imports have been added:
        ```
        from django.conf import settings
        from django.conf.urls.static import static
        ```
    - The media urls are concatenated to the list of urls:

        ```+ static(settings.MEDIA_URL, 
document_root=settings.MEDIA_ROOT)```

    - The admin import line was removed:
        
        ```from django.contrib import admin```

    - The admin urls line was removed:

        ```url(r'^admin/', admin.site.urls),```

    - Assuming that you haven't made any changes to the urls.py file your 
4.1 urls.py file should look like this:

        from django.conf.urls import include, url
        from django.conf import settings
        from django.conf.urls.static import static
        urlpatterns = [
            url(r'^', include('arches.urls')),
        ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

3. You must add the following setting to your project's 'settings.py' file:

    ```ROOT_URLCONF = 'your_projects_name.urls'```

4. In your index.htm file you will need to change the following lines:
    
    This line:
    ```
    {% trans "Welcome" %} {{ user.username }}
    ```
    ... should be changed to this:
    ```
    {% trans "Welcome" %} {{ user.first_name|default:user.username }}
    ```

    This line:
    ```
    <li><a href="{% url 'change_password' %}">{% trans 'Change Password' 
%}</a></li>
    ```
    ... should be changed to this:
    ```
    <li><a href="{% url 'user_profile_manager' %}">{% trans 'User Profile' 
%}</a></li>
    ```
*Optional:*
1. Add the following settings to your 'settings_local.py' file. These are 
commented out and only listed in your 'settings_local.py' file so that you 
can easily find them if you want to modify their values:
    ```
    #ELASTICSEARCH_PREFIX = ''
    #INSTALLED_APPS = (
    #    django.contrib.admin,
    #    django.contrib.auth,
    #    django.contrib.contenttypes,
    #    django.contrib.sessions,
    #    django.contrib.messages,
    #    django.contrib.staticfiles,
    #    django.contrib.gis,
    #    arches,
    #    arches.app.models,
    #    arches.management,
    #    guardian,
    #    captcha,
    #)
    #EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
    #EMAIL_HOST = 'localhost'
    #EMAIL_HOST_PASSWORD = ''
    #EMAIL_HOST_USER = ''
    #EMAIL_PORT = 25
    #EMAIL_USE_TLS = False
    #AUTH_PASSWORD_VALIDATORS = [
    #    {
    #        "NAME": 
"arches.app.utils.password_validation.NumericPasswordValidator"
    #    },
    #    {
    #        "NAME": 
"arches.app.utils.password_validation.SpecialCharacterValidator",
    #        "OPTIONS": {
    #            "special_characters": [
    #                "!",
    #                "@",
    #                "#",
    #                ")",
    #                "(",
    #                "*",
    #                "&",
    #                "^",
    #                "%",
    #                "$"
    #            ]
    #        }
    #    },
    #    {
    #        "NAME": 
"arches.app.utils.password_validation.HasNumericCharacterValidator"
    #    },
    #    {
    #        "NAME": 
"arches.app.utils.password_validation.HasUpperAndLowerCaseValidator"
    #    },
    #    {
    #        "NAME": 
"arches.app.utils.password_validation.MinLengthValidator",
    #        "OPTIONS": {
    #            "min_length": 9
    #        }
    #    }
    #]
    ```

*Changes*

- Fixed automatic loading of system settings local
- Change in which custom arches projects are initialzed (at same level as 
arches root, instead of within), re #2547 (#2550)
- Making related resources readable by guest users, re #2376 
- Added esri vector tiles example
- Added user profile manager , re #2452
- Added password validators to settings.py including custom validators for 
requiring upper and lower case characters, numeric characters and special 
characters, re #2454
- Added the ability for users to self signup, re #2453
- Add ability to export multiple graphs at once re #1361
- Upgrade to django 1.11.6, re #2355
- Allow users to use their email or username to login, re #2453
- Email users that their profile settings have changed, re #2453
- Improve display of filtered nodes in graph manager, re #2593
- Update CSS to better display nodes in related resources
- Standardize access to app settings in templates
- Add ability to create concepts on import for the `concept` and 
`concept-list` datatype, re #2427
- Add support for domain-value and domain-value-list datatypes, re #2427
- Add the ability to prefix elasticsearch index names, re #2612
- Improve styling and UX for Map Manager layer type selector links
- Improve UX for Arches Designer Models/Branches buttons
- Bump psycopg2 from 2.7.3.1 to 2.7.3.2 in /arches/install
- Improved removal of duplicate parent cards from flat card list, #2580
- Adds card container name as a card name prefix in cases when a card has a 
container. re #2580
- Add tests for required node import, re #2732
- Fix to prevent duplicate elements appearing after dragging and dropping. 
re #2580
- Improves JSONSerializer performance.
- Streamline installation steps, and reference the wiki for repo 
installation
- Added ability to import functions and widgets with functionids and 
widgetids respectively.
- Added the ability to disable input for a node/widget/datatype
- Added the ability to set a default value for a node/widget/datatype
- Added the ability to authenticate based on a token, re #2773
- Added configs to the number widget allowing a graph editor to define 
units (as a prefix or suffix), specify the increment, and set the max 
number of values behind the decimal place. re #2591
- Added ability to reorder values in domain widget, re #2806
- Added ability to have single quotes in concept labels, re #2830
- Added the node-value datatype
- Scrolls a form back to its top when a user switches menus, re #2600
- Replace all pyshp and shapely operations with django.contrib.gis.gdal, re 
#2689
- Adds migration to change geocoder from mapzen to mapbox where cards use 
mapzen. re #2901
- Add the user who signs up via the web ui to a default group, re #2936

-- 
-- To post, send email to [email protected]. To unsubscribe, send 
email to [email protected]. For more information, 
visit https://groups.google.com/d/forum/archesproject?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Arches Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to