-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Better onboarding on demo instance #4439
Merged
Merged
Changes from 70 commits
Commits
Show all changes
90 commits
Select commit
Hold shift + click to select a range
149347f
add registration_form to spotlight_view
normanrz 345c371
dashboard banner
fm3 7b40194
dataset filtering
normanrz 1c7b6e3
faq on pricing
normanrz a9201cf
flow
normanrz d829922
rename tracing to annotation in user-facing texts
normanrz 44f52d7
linkify entire card
fm3 b58c9a9
Merge remote-tracking branch 'origin/better-onboarding' into dashboar…
fm3 a2b4b13
improved signup
normanrz 1dae36f
rename scale to voxel size
normanrz c0e521a
extra sharing tab in dataset edit
normanrz ec4cf0e
help texts
normanrz e7f4cb5
lint
normanrz ffd07d5
flow
normanrz 2cb25c7
added icons for keyboard icons in view mode
hotzenklotz d7c2b2d
Merge branch 'better-onboarding' of github.com:scalableminds/webknoss…
hotzenklotz cb924bd
Merge remote-tracking branch 'origin/better-onboarding' into dashboar…
fm3 8fea38b
moar margin
hotzenklotz fefad3c
updated keyboard shortcut layout
hotzenklotz 3efbfa7
Merge remote-tracking branch 'origin/better-onboarding' into dashboar…
fm3 4802407
shortcut table styling
hotzenklotz 67bb638
tbody fix
hotzenklotz 3a180c1
Merge remote-tracking branch 'origin/better-onboarding' into dashboar…
fm3 f7c2160
add icons for dataset info tab
fm3 d241c30
better email template
normanrz b946f6c
Merge branch 'better-onboarding' of github.com:scalableminds/webknoss…
normanrz f8e85fd
pass isDemoInstance to register mail
fm3 5da0a2c
Merge branch 'better-onboarding' of github.com:scalableminds/webknoss…
normanrz 667cb37
Merge branch 'dashboard-banner' into better-onboarding
fm3 7792861
stuff
normanrz bf6c245
add some spacing, link to more shortcuts
fm3 96b5f19
on demo instance, send register mail on orga creation
fm3 08831f4
separate register emails
normanrz e307b4e
show whatsnext banner only at first
fm3 c5073f0
Merge branch 'better-onboarding' of github.com:scalableminds/webknoss…
fm3 ecbd3fd
call me maybe
fm3 04e75d6
font size
fm3 0c3cd25
registration redirect from demo instance to dashboard
hotzenklotz f129a8d
Merge branch 'better-onboarding' of github.com:scalableminds/webknoss…
hotzenklotz a30c612
lint
fm3 a7eb03d
mail
normanrz cb7e944
Merge branch 'better-onboarding' of github.com:scalableminds/webknoss…
normanrz bcead23
Merge branch 'better-onboarding' of github.com:scalableminds/webknoss…
hotzenklotz 6198d9e
demoSender in conf
fm3 accbe6b
Merge branch 'better-onboarding' of github.com:scalableminds/webknoss…
fm3 25634ff
use Links for create tracings from dashboard
fm3 1b5273d
fix authentication modal
fm3 3b330e6
use default registration form if not demo instance
fm3 0b4839d
pretty backend
fm3 8b969da
email template
normanrz 2b215b9
Merge branch 'better-onboarding' of github.com:scalableminds/webknoss…
normanrz 038ff03
Merge branch 'better-onboarding' of github.com:scalableminds/webknoss…
fm3 80c2d7a
help texts
normanrz ecb27b6
lint
normanrz d6cb456
docs
normanrz 43330b2
extract dataset-cache
normanrz afb567b
Update frontend/javascripts/oxalis/view/version_view.js
normanrz ac992f3
improved dataset cache
normanrz 3802861
Merge branch 'master' into better-onboarding
normanrz ea49722
changelog
normanrz e223d21
pretty
normanrz 3da46fc
Merge remote-tracking branch 'origin/master' into better-onboarding
normanrz b233049
fixes use of Persistance
normanrz 52e8bcb
fixes use of Persistance
normanrz 143ae79
Merge branch 'master' into better-onboarding
normanrz 988221a
re-added newline
normanrz 3e053f2
pr feedback
normanrz 0ab8ddc
no default isDemoInstance
normanrz 47a4949
pr feedback
normanrz caeedef
Merge branch 'master' into better-onboarding
normanrz e2740ec
show organization's display name in signup form
normanrz 8c3ca21
add option to specify both organization name and display name in orga…
fm3 01896c3
default organizationDisplayName
normanrz 3dfa3a1
add /organizationsIsEmpty route
fm3 2b6ac0a
Merge branch 'better-onboarding' of github.com:scalableminds/webknoss…
fm3 14294f6
merge
normanrz e7a6915
Merge branch 'better-onboarding' of github.com:scalableminds/webknoss…
normanrz 4875c91
implement getOrganization API
normanrz d53ec23
user list styling
normanrz f56b022
organizationteam is always created as Default. add route organization…
fm3 55b48bc
remove unused function param
fm3 5bd8901
Merge branch 'master' of github.com:scalableminds/webknossos into bet…
philippotto 36902c3
resolve merge conflicts in Authentication.scala
fm3 af9ed98
use default organization in impressum and onboarding flow
philippotto 65ba4f9
Merge branch 'master' of github.com:scalableminds/webknossos into bet…
philippotto ccfb815
return null in organizations/default if >1 orga setup
fm3 f8386e3
Merge branch 'better-onboarding' of github.com:scalableminds/webknoss…
philippotto 8232b81
don't list existing organizations in onboarding form
philippotto cd53a60
Merge branch 'master' of github.com:scalableminds/webknossos into bet…
philippotto d2d2fc7
remove unused imports
philippotto File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -168,6 +168,13 @@ class Authentication @Inject()(actorSystem: ActorSystem, | |
Some(finalName) | ||
} | ||
|
||
def callMeMaybe = Action { implicit request => | ||
{ | ||
Mailer ! Send(defaultMails.registerMailDemo("Neuer Nutzer", "[email protected]")) | ||
Ok | ||
} | ||
} | ||
|
||
def handleRegistration = Action.async { implicit request => | ||
signUpForm.bindFromRequest.fold( | ||
bogusForm => Future.successful(BadRequest(bogusForm.toString)), | ||
|
@@ -454,6 +461,9 @@ class Authentication @Inject()(actorSystem: ActorSystem, | |
defaultMails.newOrganizationMail(organization.displayName, | ||
email.toLowerCase, | ||
request.headers.get("Host").headOption.getOrElse(""))) | ||
if (conf.Features.isDemoInstance) { | ||
Mailer ! Send(defaultMails.registerMailDemo(user.firstName, user.email)) | ||
} | ||
Ok | ||
} | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -17,21 +17,24 @@ class DefaultMails @Inject()(conf: WkConf) { | |
|
||
val defaultFrom = "[email protected]" | ||
|
||
val demoSender = conf.Mail.demoSender | ||
|
||
val newOrganizationMailingList = conf.WebKnossos.newOrganizationMailingList | ||
|
||
def registerAdminNotifyerMail(user: User, email: String, brainDBResult: Option[String], organization: Organization) = | ||
Mail( | ||
from = email, | ||
headers = Map("Sender" -> defaultFrom), | ||
subject = s"A new user (${user.name}) registered on $uri for ${organization.displayName} (${organization.name})", | ||
subject = | ||
s"webKnossos | A new user (${user.name}) registered on $uri for ${organization.displayName} (${organization.name})", | ||
bodyText = html.mail.registerAdminNotify(user, brainDBResult, uri).body, | ||
recipients = List(organization.newUserMailingList) | ||
) | ||
|
||
def overLimitMail(user: User, projectName: String, taskId: String, annotationId: String, organization: Organization) = | ||
Mail( | ||
from = defaultFrom, | ||
subject = s"Time limit reached. ${user.abreviatedName} in $projectName", | ||
subject = s"webKnossos | Time limit reached. ${user.abreviatedName} in $projectName", | ||
bodyText = html.mail.timeLimit(user.name, projectName, taskId, annotationId, uri).body, | ||
recipients = List(organization.overTimeMailingList) | ||
) | ||
|
@@ -40,33 +43,43 @@ class DefaultMails @Inject()(conf: WkConf) { | |
implicit messages: Messages) = | ||
Mail( | ||
from = defaultFrom, | ||
subject = "Thanks for your registration on " + uri, | ||
subject = "webKnossos | Thanks for your registration on " + uri, | ||
bodyText = html.mail.register(name, brainDBresult.map(Messages(_)), enableAutoVerify).body, | ||
recipients = List(receiver) | ||
) | ||
|
||
def registerMailDemo(name: String, receiver: String)(implicit messages: Messages) = | ||
Mail( | ||
from = demoSender, | ||
subject = "Welcome to webKnossos", | ||
bodyHtml = html.mail.registerDemo(name).body, | ||
recipients = List(receiver) | ||
) | ||
|
||
def activatedMail(name: String, receiver: String) = | ||
Mail(from = defaultFrom, | ||
subject = s"Your account on $uri was activated", | ||
subject = s"webKnossos | Your account on $uri was activated", | ||
bodyText = html.mail.validated(name, uri).body, | ||
recipients = List(receiver)) | ||
|
||
def changePasswordMail(name: String, receiver: String) = | ||
Mail(from = defaultFrom, | ||
subject = "Your webKnossos password was changed", | ||
subject = "webKnossos | Your webKnossos password was changed", | ||
bodyText = html.mail.passwordChanged(name).body, | ||
recipients = List(receiver)) | ||
|
||
def resetPasswordMail(name: String, receiver: String, token: String) = | ||
Mail(from = defaultFrom, | ||
subject = "Confirm resetting your webKnossos password", | ||
bodyText = html.mail.resetPassword(name, uri, token).body, | ||
recipients = List(receiver)) | ||
Mail( | ||
from = defaultFrom, | ||
subject = "webKnossos | Confirm resetting your webKnossos password", | ||
bodyText = html.mail.resetPassword(name, uri, token).body, | ||
recipients = List(receiver) | ||
) | ||
|
||
def newOrganizationMail(organizationName: String, creatorEmail: String, domain: String) = | ||
Mail( | ||
from = defaultFrom, | ||
subject = "New webKnossos Organization created on " + domain, | ||
subject = "webKnossos | New webKnossos Organization created on " + domain, | ||
bodyHtml = html.mail.newOrganization(organizationName, creatorEmail, domain).body, | ||
recipients = List(newOrganizationMailingList) | ||
) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,5 @@ | ||
@( name: String, brainDBresult: Option[String], enableAutoVerify: Boolean ) | ||
Hello @name, | ||
@( name: String, brainDBresult: Option[String], enableAutoVerify: Boolean ) Hello @name, thank you | ||
for signing up for an webKnossos account! @if(!enableAutoVerify) { Your account is going to get | ||
activated after an administrator has reviewed your details. } @if(brainDBresult.isDefined) { | ||
@brainDBresult.get } Enjoy using webKnossos Your webKnossos Team | ||
|
||
thank you for signing up for an webKnossos account! | ||
@if(!enableAutoVerify) { | ||
Your account is going to get activated after an administrator has reviewed your details. | ||
} | ||
|
||
@if(brainDBresult.isDefined) { | ||
@brainDBresult.get | ||
} | ||
|
||
Enjoy using webKnossos | ||
|
||
Your webKnossos Team |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,126 @@ | ||
@( name: String ) | ||
<html> | ||
<body> | ||
<style type="text/css"> | ||
body, | ||
p, | ||
li, | ||
h2 { | ||
font-family: "Monospaced Number", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, | ||
"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, | ||
sans-serif; | ||
font-size: 14px; | ||
line-height: 1.5; | ||
} | ||
</style> | ||
<div style="margin-left: auto; margin-right: auto; max-width: 600px;"> | ||
<p> | ||
<a href="https://webknossos.org" | ||
><img | ||
src="https://static.webknossos.org/mails/email-header.600.png" | ||
alt="webKnossos" | ||
style="width: 100%; max-width: 600px;" | ||
/></a> | ||
</p> | ||
|
||
<p>Hi @name,</p> | ||
<p> | ||
welcome to your new webKnossos account. You are ready to start exploring and collaboratively | ||
annotate large 3D datasets. | ||
</p> | ||
<h2 style="font-size: 1rem;">Get started</h2> | ||
<ul style="font-size: 1rem;"> | ||
<li> | ||
Use webKnossos for free with any of the public datasets on | ||
<a href="https://webknossos.org">webknossos.org</a>. All webKnossos features can be used | ||
with your new free account. | ||
</li> | ||
<li> | ||
Upload your own dataset into your own space private workspace. If you want, you can | ||
publish your dataset into our public gallery. | ||
</li> | ||
<li> | ||
Invite colleagues from your lab or external collaborators to work with your data. | ||
webKnossos works great for small teams and supports management of large annotators crowds. | ||
</li> | ||
</ul> | ||
|
||
<h2 style="font-size: 1rem;">Get support</h2> | ||
<p> | ||
To learn more about how to get the most out of webKnossos, | ||
<a href="https://docs.webknossos.org">check out the documentation</a> or | ||
<a href="https://www.youtube.com/watch?v=tNwDvo5MnDc">watch this introductory video</a>. | ||
</p> | ||
<p> | ||
<a href="https://docs.webknossos.org" | ||
><img | ||
src="https://static.webknossos.org/mails/screen-docs.png" | ||
alt="screenshot of documentation" | ||
width="200" | ||
height="137" | ||
/></a> | ||
<a href="https://www.youtube.com/watch?v=tNwDvo5MnDc" | ||
><img | ||
src="https://static.webknossos.org/mails/screen-video.png" | ||
alt="screenshot of intro video" | ||
width="200" | ||
height="137" | ||
/></a> | ||
</p> | ||
|
||
<p> | ||
Please don’t hesitate to get in touch with me, if you have any questions about using | ||
webKnossos. | ||
</p> | ||
|
||
<p>I am looking forward to hearing from you.</p> | ||
|
||
<p>Best regards,<br />Norman</p> | ||
|
||
<p style="text-align: center; padding-top: 30px;"> | ||
<a href="https://webknossos.org" | ||
><img | ||
src="https://static.webknossos.org/mails/icon-webknossos.png" | ||
alt="webKnossos" | ||
style="width: 50px; height: 50px;" | ||
/></a> | ||
| ||
<a href="https://docs.webknossos.org" | ||
><img | ||
src="https://static.webknossos.org/mails/icon-docs.png" | ||
alt="Documentation" | ||
style="width: 50px; height: 50px;" | ||
/></a> | ||
| ||
<a href="https://www.youtube.com/channel/UCVQqjQ50lJORCZuLxnEE-tA" | ||
><img | ||
src="https://static.webknossos.org/mails/icon-video.png" | ||
alt="YouTube Channel" | ||
style="width: 50px; height: 50px;" | ||
/></a> | ||
| ||
<a href="https://twitter.com/webknossos" | ||
><img | ||
src="https://static.webknossos.org/mails/icon-twitter.png" | ||
alt="Twitter Channel" | ||
style="width: 50px; height: 50px;" | ||
/></a> | ||
</p> | ||
|
||
<div style="height: 60px;"> </div> | ||
<p style="color: #888; font-size: 0.6rem;"> | ||
You are receiving this email because you signed up for an account on webKnossos. You may | ||
cancel your account at any time. | ||
</p> | ||
<p style="color: #888; font-size: 0.6rem;"> | ||
<a href="https://webknossos.org" style="color: #888;">webknossos.org</a> is a service by<br /> | ||
scalable minds GmbH • | ||
<a href="mailto:hello@@scalableminds.com" style="color: #888;">hello@@scalableminds.com</a | ||
><br /> | ||
Großbeerenstr. 15, 14482 Potsdam, Germany • Amtsgericht Potsdam, HRB 25763 • | ||
Managing Directors: Tom Bocklisch, Tom Herold, Norman Rzepka | ||
</p> | ||
<div style="height: 60px;"> </div> | ||
</div> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,23 +10,20 @@ Feel free to [drop us a line](mailto:[email protected]) or [create a Pull | |
|
||
## Create a webknossos.org Account | ||
Signing up to [webknossos.org](https://webknossos.org) is the easiest way to get started with webKnossos. | ||
Go to [webknossos.org](https://webknossos.org) and create an account in the "Demo_Lab" organization. | ||
Go to [webknossos.org](https://webknossos.org) and create a new account. | ||
Please make sure to enter a correct email address. | ||
After you have entered your details, the account will be automatically activated. | ||
|
||
You can also choose to create a new organization which will allow you to upload private datasets at a later point in time and manage other users. | ||
For testing purposes, the "Demo_Lab" organization is preferred. | ||
After you have entered your details, the account will be automatically activated and logged in. | ||
|
||
Accounts on [webknossos.org](https://webknossos.org) are free to use with published datasets. | ||
If you wish to use private datasets, there is a fee that covers storage costs and also provides support services such as dataset conversions. | ||
Check out the [pricing page for more details](https://webknossos.org/pricing). | ||
You can also rent a fully-managed dedicated webKnossos server from scalable minds or install webKnossos on your own server. | ||
If you wish to use private datasets, there is an upload limit of 10GB. | ||
For more data storage, checkout the [pricing page for paid plans](https://webknossos.org/pricing) that covers storage costs and provide support services such as dataset conversions. | ||
You can also rent a [fully-managed dedicated webKnossos server](https://webknossos.org/pricing) from scalable minds or install webKnossos [on your own server](./installation.md). | ||
|
||
|
||
## Explore Published Datasets | ||
On [webknossos.org](https://webknossos.org) there are already a bunch of published community datasets available for you to explore. | ||
To get started, navigate to the `Datasets` tab on your [dashboard](./dashboard.md). | ||
There, you find a list of all available datasets. | ||
To get started, navigate to the `Featured Publications` tab on your [dashboard](./dashboard.md). | ||
There, you find a list of all available public datasets. | ||
Click on the dataset name to open the dataset. | ||
|
||
![The list of available datasets](./images/getting_started-datasets.png) | ||
|
@@ -53,7 +50,6 @@ You can also change the size of the viewports to see more details in your data a | |
|
||
## Your First Annotation | ||
Click the `Create Tracing` button from the view mode of a dataset to create your first annotation. | ||
Alternatively, navigate to the `Datasets` tab on your [dashboard](./dashboard.md), identify a dataset that your interested in and click on `Start Skeleton Tracing` to create a new skeleton annotation. | ||
webKnossos will launch the main annotation screen allowing you to navigate your dataset and place markers to reconstruct skeletons. | ||
|
||
Drag the mouse while pressing the left mouse button to navigate the dataset. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the newline-removal intended?