URL structure¶
This document register the default URLs used in the platform and where to find them in their corresponding apps.
Users/login (ej_users app)¶
Public views controlling authentication and creation of new users. Both login and register views accept a ?next=<url> tag that controls the redirect page.
Actions that do not require authentication¶
- login/ (auth:login):
- Login page.
Implementation
ej_users.routes.login()
. - register/ (auth:register):
- Register a new user.
Implementation
ej_users.routes.register()
. - recover-password/ (auth:recover-password):
- Recover user password.
Implementation
ej_users.routes.recover_password()
- recover-password/<token> (auth:recover-password-token):
- URL sent by e-mail after user request a password reset.
Implementation
ej_users.routes.recover_password_token()
. - login/api-key/ (auth:api-key):
- API-based authorization. Used by Rocket.Chat integration.
Implementation
ej_users.routes.login()
.
Actions that require authentication¶
- account/ (account:index):
- Manage basic account actions such as password reset, e-mail reset, etc.
Implementation
ej_users.routes_account.index()
. - account/logout/ (account:logout):
- End user session.
Implementation
ej_users.routes_account.logout()
. - account/remove/ (account:remove-account):
- Remove user account. This is an non-reversible operation that the user
must confirm in order to actually remove the account.
Implementation
ej_users.routes_account.remove()
. - account/manage-email/ (account:manage-email):
- Allow user to change its e-mail.
Implementation
ej_users.routes_account.manage_email()
. - account/change-password/ (account:change-password):
- Allow user to change its password.
Implementation
ej_users.routes_account.change_password()
.
All views are included in the ej_accounts
app.
Profile views (ej_profiles)¶
Users cannot see each other’s profiles since EJ is not meant to be a traditional social network. There is no concept of “friends”, “followers”, “private conversations” etc.
- profile/ (profile:detail):
- Show user profile.
Implementation
ej_profiles.routes.detail()
. - profile/edit/ (profile:edit):
- Edit profile.
Implementation
ej_profiles.routes.edit()
. - profile/contributions/ (profile:comments):
- Show statistics and information about all contributions of the user to
conversations in the platform.
Implementation
ej_profiles.routes.contributions()
.
Gamification (ej_gamification)¶
Show gamification information for the user profile.
- profile/achievements/ (gamification:badges)
- List of points and badges for the user. Also display user position on the
leaderboard.
Implementation
ej_gamification.routes.achievements()
. - – under construction
Interface that users can use to manage global powers and resources in the platform. | Notifications ============= | Notifications are displayed using alerts (push notifications) for most users. However, some users may not have support for this technology on their browsers and even the users who have, might want to keep a record of the later notifications in the system. | profile/notifications/ (notifications:index):
List all unread notifications.- profile/notifications/history/ (notifications:history):
- List all notifications.
All notifications are managed by the ej_notifications app.
Conversations (ej_conversations)¶
Public views for displaying information about conversations.
- conversations/ (conversations:list):
- List all available conversations
Implementation
ej_conversations.routes.list_view()
. - conversations/<id>/<slug>/ (conversations:conversation-detail):
- Detail page for an specific conversation.
Implementation
ej_conversations.routes.detail()
.
CRUD (ej_conversations)¶
All those URLS are only available for users with permission to edit conversations. This can be applied to staff members or to the owner of the conversation.
- conversations/create/ (conversations:create-conversation):
- Add a new conversation.
Implementation
ej_conversations.routes.create()
. - conversations/<id>/<slug>/edit/ (conversations:edit-conversation):
- Edit conversation.
Implementation
ej_conversations.routes.edit()
. - conversations/<id>/<slug>/moderate/ (conversations:moderate-comments):
- Can classify all non-moderated comments.
Implementation
ej_conversations.routes.moderate()
.
Reports (ej_dataviz)¶
Only staff members and the conversation owner have access to those pages.
- conversations/<id>/<slug>/reports/ (reports:index):
- Aggregate reports for the given conversation.
- conversations/<id>/<slug>/reports/users/ (reports:radar):
- Display comments in a 2D layout to show the distribution of opinions and comments.
Clusters (ej_clusters)¶
Display the clusters associated with a conversation. All those urls require authentication, but are visible to all users.
- conversations/<id>/<slug>/clusters/ (clusters:index):
- See cluster information in conversation.
Implementation
ej_clusters.routes.index()
. - conversations/<id>/<slug>/clusters/edit/ (clusters:edit):
- Edit clusterization configurations.
Implementation
ej_clusters.routes.edit()
. - conversations/<id>/<slug>/stereotypes/ (clusters:stereotype-votes):
- Cast stereotype votes in conversation.
Implementation
ej_clusters.routes.stereotype_votes()
.
Clusters and Stereotypes (ej_clusters)¶
Only staff members and the conversation owner have access to those pages.
- conversations/<id>/<slug>/stereotypes/ (clusters:stereotype-list):
- List of all stereotypes showing information about the assigned cluster and statistics.
- conversations/<id>/<slug>/stereotypes/<id>/ (clusters:stereotype-vote):
- Allow the given stereotype to vote in conversation.
Help¶
Urls with the intention of explaining how to use the platform. Most of those urls are implemented as flat pages and are stored as HTML or markdown under either local/pages or lib/pages/.
- /start/ (home):
- Landing-page broadly explaining what is EJ and how to use the platform.
- /faq/ (faq):
- Frequently asked questions.
- /about-us/ (about):
- About EJ or the organization deploying an instance.
- /usage/ (usage):
- Usage terms for the platform.
- /contact/ (contact):
- Contact information
All URLs are implemented as flat pages in the Django Admin. The content
of those URLs can be editable at /admin/flatpages/flatpage/
.
Talks¶
Rocket.Chat integration.
- /talks/ (rocket:index)
- Display Rocketchat inside a <iframe>.
- /talks/intro (rocket:intro):
- Initial page displayed by the Rocketchat instance.
- /talks/channels (rocket:channels):
- List of Rocketchat channels available for the user.
All urls are implemented in the ej_rocketchat app.
Administrative URLs¶
All views in this section require staff permissions.
- admin/:
- Django admin page. Users must be staff members.
- /info/ (info):
- Show basic debug information about the server
Implementation
ej.routes.info()
. - /info/styles/ (info-styles):
- Exhibit the main design elements like colors and typography applied in the
current theme.
Implementation
ej.routes.info_styles()
. - /info/ (info-django-settings):
- Display current Django settings. Only the admin user can see this page.
Implementation
ej.routes.info_django_settings()
.