Go to file
Cyprien P 693f2f6325 (core) Brings welcome tour and hide behind a flag
Summary:
This diff brings in the new welcome tour. It builds upon `client/ui/OnBoardingPopup` that was committed to that purposes. Per this diff,  the tour is accessible behind a flag and won't be visible to user: few caveats listed below needs to be adressed first.

This diff also brings few changes to onboarding module.
  - allow to refer to element with selector
     - usually dynamic selection of element sounds useful for when the
     element does not exist yet when the tour starts. But the actual
     reason when add it here, is to allow selecting the first cell.
     - if the selector yields undefined (missing element), the popup
     is simply skipped
  - got rid of the internal registry to link between popup contents
  and popup options. All is now define in the same interface. Registry
  overall felt overkill and not needed.
  - adds an option to show message as a simple modal that is centered
  on the screen

This diff also brings the new welcome tour and hide it behind a flag

CAVEATS that need to be addressed in follow up commit:
 - The url needs cleanup, #repeat-welcome-tour sticks to it and so even when navigating to home page. This could eventually become an issue: if user opens another document it would starts the onboarding tour again.
 - For now you have to manually make sure the right panel is opened with the Column tab selected before starting the tour.
  - On boarding tours were not designed with mobile support in mind. So probably a good idea to disable.
  - Backend support needs to be done (persistence of first time user).

Test Plan:
Updated `projects/OnBoardingPopup` and adds new `nbrowser/welcomeTour`
To launch the tour:
  - open any document
  - open manually the right panel and the field tab
  - append the flag `#repeat-welcome-tour` at the end of the url in the url bar and reload the page

Reviewers: dsagal

Reviewed By: dsagal

Differential Revision: https://phab.getgrist.com/D2917
2021-07-19 16:30:53 +02:00
.github/workflows (core) add CI github action for grist-core 2021-04-12 17:17:17 -04:00
app (core) Brings welcome tour and hide behind a flag 2021-07-19 16:30:53 +02:00
bower_components (core) add Dockerfile for grist-core 2020-10-12 15:45:22 -04:00
buildtools (core) Configure more comprehensive eslint rules for Typescript 2021-04-26 18:54:55 -04:00
sandbox (core) Refactor Table.Record[Set] classes 2021-07-19 14:53:28 +02:00
static (core) Add Lock icon 2021-06-01 13:10:57 -04:00
stubs/app (core) Remove LoginSession, which was mainly serving situations that are no longer used. 2021-07-12 13:04:00 -04:00
test (core) start applying defenses for untrusted document uploads 2021-07-14 18:34:27 -04:00
.dockerignore (core) freshen grist-core build 2021-04-03 09:41:06 -04:00
.gitignore (core) Move report-why-tests-hang helper to core 2021-04-26 23:52:16 -04:00
bin Initial config with a few files that build on client and server side. 2020-05-20 00:50:46 -04:00
Dockerfile (core) switch grist-core docker image to use node v14 2021-05-10 15:23:45 -04:00
LICENSE.txt (core) Add Apache-2.0 license to grist-core. 2020-08-06 10:59:48 -04:00
NOTICE.txt (core) Add Apache-2.0 license to grist-core. 2020-08-06 10:59:48 -04:00
ormconfig.js (core) move home server into core 2020-07-21 20:39:10 -04:00
package.json (core) Remove LoginSession, which was mainly serving situations that are no longer used. 2021-07-12 13:04:00 -04:00
README.md typo in intro 2021-05-15 11:12:36 -05:00
tsconfig.json (core) freshen grist-core build 2021-04-03 09:41:06 -04:00
yarn.lock (core) Remove LoginSession, which was mainly serving situations that are no longer used. 2021-07-12 13:04:00 -04:00

Grist

Grist is a modern relational spreadsheet. It combines the flexibility of a spreadsheet with the robustness of a database to organize your data and make you more productive.

⚠️ This repository is in a pre-release state. Its release will be announced when it has all the planned components, and a solid independent build and test set-up. Currently, stand-alone server functionality is present, along with a single-user web client.

This repository, grist-core, is maintained by Grist Labs. Our flagship product, available at getgrist.com, is built from the code you see here, combined with business-specific software designed to scale it to many users, handle billing, etc.

If you are looking to use Grist in the cloud, head on over to getgrist.com.

Opening and editing a Grist document locally

The easiest way to use Grist locally on your computer is with Docker. From a terminal, do:

docker pull gristlabs/grist
docker run -p 8484:8484 -it gristlabs/grist

Then visit http://localhost:8484 in your browser. You'll be able to create and edit documents, and to import documents downloaded from the https://docs.getgrist.com host. You'll also be able to use the Grist API.

To preserve your work across docker runs, provide a directory to save it in:

docker pull gristlabs/grist
docker run -p 8484:8484 -v $PWD/persist:/persist -it gristlabs/grist

Building from source

Here are the steps needed:

yarn install
yarn run build:prod
yarn run install:python
yarn start
# unauthenticated grist client available at http://localhost:8484
# unauthenticated grist api available at http://localhost:8484/api/

Then you can use the Grist client, or the API. You cannot (yet) edit Grist documents in place on your file system. All imported/created documents will appear in the docs subdirectory.

Why Open Source?

By opening its source code and offering an OSI-approved free license, Grist benefits its users:

  • Open Source Community. An active community is the main draw of open-source projects. Anyone can examine source code, and contribute bug fixes or even new features. This is a big deal for a general-purpose spreadsheet-like product, where there is a long tail of features vital to someone somewhere.
  • Increased Trust. Because anyone can examine the source code, “security by obscurity” is not an option. Vulnerabilities in the code can be found by others and reported before they can cause damage.
  • Independence. The published source code—and the product built from it—are available to you regardless of the fortunes of the Grist Labs business. Whatever happens to us, this repo or its forks can live on, so that you can continue to work on your data in Grist.
  • Price Flexibility. You can build Grist from source and use it for yourself all you want without paying us a cent. While you cant go wrong with our fully set-up and supported online service, some organizations may choose the do-it-yourself route and pay for their own server and maintenance, rather than a per-user price. DIY users are often the ones to develop new features, and can contribute them back to benefit all users of Grist.
  • Extensibility. For developers, having the source open makes it easier to build extensions (such as the experimental Custom Widget). You can more easily include Grist in your pipeline. And if a feature is missing, you can just take the source code and build on top of it!

License

This repository, grist-core, is released under the Apache License, Version 2.0, which is an OSI-approved free software license. See LICENSE.txt and NOTICE.txt for more information.