diff --git a/templates/identity/email-password/register-partial.html.ejs b/templates/identity/email-password/register-partial.html.ejs index 638f3a5b4..b4e2ee6c6 100644 --- a/templates/identity/email-password/register-partial.html.ejs +++ b/templates/identity/email-password/register-partial.html.ejs @@ -1,5 +1,7 @@ -<% const isBlankForm = !('prefilled' in locals); %> -<% prefilled = locals.prefilled || {}; %> +<% + const isBlankForm = !('prefilled' in locals); + prefilled = locals.prefilled || {}; +%>
Your WebID @@ -47,37 +49,35 @@
Your Pod

- A Pod is a place to store your data. -
- If you create a new WebID, you must also create a Pod to store that WebID. + A Pod is a storage place for your data.

    1. -
    2. - -
    3. -
    4. - -
        -
      1. - - -
      2. -
      + <% if (locals.allowRoot) { %> +
    5. + +
    6. +
    7. + +
    8. + <% } %> +
    9. + +
  1. @@ -116,54 +116,60 @@
+ diff --git a/templates/identity/email-password/register.html.ejs b/templates/identity/email-password/register.html.ejs index 23d0bbbca..f1d209bdc 100644 --- a/templates/identity/email-password/register.html.ejs +++ b/templates/identity/email-password/register.html.ejs @@ -5,7 +5,7 @@

Error: <%= message %>

<% } %> - <%- include('./register-partial.html.ejs', { allowRoot: false, formId: 'mainForm' }) %> + <%- include('./register-partial.html.ejs', { allowRoot: false }) %>

diff --git a/templates/root/prefilled/index.html b/templates/root/prefilled/index.html index 905b39078..db867df82 100644 --- a/templates/root/prefilled/index.html +++ b/templates/root/prefilled/index.html @@ -22,22 +22,21 @@

Getting started as a user

- Sign up for an account + Sign up for an account to get started with your own Pod and WebID.

- The default configuration stores data only in memory, - so be sure to choose a configuration that saves data to disk. - If you are exposing this server publicly, - read the guidelines below. + The default configuration stores data only in memory. + If you want to keep data permanently, + choose a configuration that saves data to disk instead.

Getting started as a developer

- The default server configuration includes - this ready-to-use root Pod you're looking at. - That way, you don't need to create an account - to read and write data or to test apps. + Run the setup to configure your server. +
+ The default configuration includes + the ready-to-use root Pod you're currently looking at.

You can easily choose any folder on your disk @@ -46,28 +45,6 @@ Use the --help switch to learn more.

-

Making this server public

-

- Before making this server public, - you might want to disable certain convenience features - so they remain only accessible to you: -

- -

Have a wonderful Solid experience

Learn more about Solid diff --git a/templates/setup/index.html.ejs b/templates/setup/index.html.ejs index 78632009f..acdb998b8 100644 --- a/templates/setup/index.html.ejs +++ b/templates/setup/index.html.ejs @@ -1,39 +1,7 @@ -

Welcome to Solid

+

Set up your Solid server

- This server implements - the Solid protocol - so you can create your own Solid Pod - and identity. -

- -

Making this server public

-

- Before making this server public, - you might want to disable Pod registration - by changing - the configuration. -

- -

Setting up the server

-

- The default configuration stores data only in memory, - so be sure to choose a configuration that saves data to disk. - If you are exposing this server publicly, - read the guidelines below. -

-

- When using the file-based version of the server, - you can easily choose any folder on your disk to use as root. -
- Use the --help switch to learn more. -

-

- To make sure the server is set up exactly as you want it, - please fill in the form below. -

-

- In case you want to automate the server initialization and want to get rid of this setup screen, - update your config with new imports from config/app/setup/ and possibly config/app/init/. + Your Solid server needs a one-time setup + so it acts exactly the way you want.

@@ -43,46 +11,62 @@

<%= message %>

<% } %>
- Choose options + Accounts on this server
  1. - This defaults to public access for everyone. - Disabling this makes it impossible to access the root container and add resources, - but new pods can still be created through registration, - which is ideal if you only want data to be edited in the pods. - This option is irrelevant when creating a root pod with the option below. + You can disable account registration + by changing the configuration.

  2. +

    + Any existing root Pod will be disabled. +

    +
  3. +
  4. + +

    + By default, the public has read and write access to the root Pod. +
    + You typically only want to choose this + for rapid testing and development. +

- <%- include('../identity/email-password/register-partial.html.ejs', { allowRoot: true, formId: 'mainForm' }) %> + Sign up + <%- + include('../identity/email-password/register-partial.html.ejs', { + allowRoot: true, + }) + %>
-

+

+ diff --git a/templates/setup/response.html.ejs b/templates/setup/response.html.ejs index b3568f651..10ecd5a72 100644 --- a/templates/setup/response.html.ejs +++ b/templates/setup/response.html.ejs @@ -1,24 +1,21 @@ -

Server successfully set up

+

Server setup complete

+

+ Congratulations! + Your Solid server is now ready to use. +
+ You can now visit its homepage. +

<% if (initialize && !registration) { %> +

Root Pod

- You have chosen to allow the root container to be accessible. + The root Pod is publicly accessible. +
Prevent public write and control access to the root - by modifying .acl. + by modifying its ACL document.

<% } %> <% if (registration) { %> <%- include('../identity/email-password/register-response-partial.html.ejs', { authenticating: false }) %> <% } %> - -

Have a wonderful Solid experience

-

- Learn more about Solid - at solidproject.org. -

-

- You are warmly invited - to share your experiences - and to report any bugs you encounter. -

diff --git a/templates/styles/main.css b/templates/styles/main.css index d6603c7d8..233090da9 100644 --- a/templates/styles/main.css +++ b/templates/styles/main.css @@ -151,6 +151,12 @@ fieldset > legend { fieldset > legend + p { margin: 0 0 .5em .25em; } +fieldset > fieldset > legend { + font-size: 1.2em; +} +.hidden legend { + display: none; +} fieldset ol { list-style: none; margin: 0; @@ -170,6 +176,7 @@ fieldset ol ol li:not(.checkbox, .radio) { } fieldset li label { font-weight: 600; + cursor: pointer; } fieldset li li label { font-weight: 500; @@ -220,7 +227,7 @@ form ul.actions > li { } form.loaded * { - max-height: 500px; + max-height: 1000px; transition: max-height .2s; } form .hidden { diff --git a/test/integration/Setup.test.ts b/test/integration/Setup.test.ts index 831862406..8f943fbb4 100644 --- a/test/integration/Setup.test.ts +++ b/test/integration/Setup.test.ts @@ -33,21 +33,21 @@ describe('A Solid server with setup', (): void => { it('catches all requests.', async(): Promise => { let res = await fetch(baseUrl, { method: 'GET', headers: { accept: 'text/html' }}); expect(res.status).toBe(200); - await expect(res.text()).resolves.toContain('Welcome to Solid'); + await expect(res.text()).resolves.toContain('Set up your Solid server'); res = await fetch(joinUrl(baseUrl, '/random/path/'), { method: 'GET', headers: { accept: 'text/html' }}); expect(res.status).toBe(200); - await expect(res.text()).resolves.toContain('Welcome to Solid'); + await expect(res.text()).resolves.toContain('Set up your Solid server'); res = await fetch(joinUrl(baseUrl, '/random/path/'), { method: 'PUT', headers: { accept: 'text/html' }}); expect(res.status).toBe(405); - await expect(res.text()).resolves.toContain('Welcome to Solid'); + await expect(res.text()).resolves.toContain('Set up your Solid server'); }); it('can create a server that disables root but allows registration.', async(): Promise => { let res = await fetch(setupUrl, { method: 'POST', headers: { accept: 'text/html' }}); expect(res.status).toBe(200); - await expect(res.text()).resolves.toContain('Server successfully set up'); + await expect(res.text()).resolves.toContain('Server setup complete'); // Root access disabled res = await fetch(baseUrl); @@ -74,7 +74,7 @@ describe('A Solid server with setup', (): void => { body: JSON.stringify({ initialize: true }), }); expect(res.status).toBe(200); - await expect(res.text()).resolves.toContain('Server successfully set up'); + await expect(res.text()).resolves.toContain('Server setup complete'); // Root access enabled res = await fetch(baseUrl); @@ -99,7 +99,7 @@ describe('A Solid server with setup', (): void => { body: JSON.stringify({ registration: true, initialize: true, ...registerParams }), }); expect(res.status).toBe(200); - await expect(res.text()).resolves.toContain('Server successfully set up'); + await expect(res.text()).resolves.toContain('Server setup complete'); // Root profile created res = await fetch(joinUrl(baseUrl, '/profile/card'));