Commit graph

287 commits

Author SHA1 Message Date
Henry Oswald
ccffdc3265 added blog url to config 2018-02-08 14:47:54 +00:00
James Allen
662122bb1c CI and local dev environment improvements
The need for this became very noticeable due to the slowness of filesystem access in docker-in-mac, with a full compile taking over a minute for me in docker. Using make to introduce incremental compile makes this near instantaneous outside of docker (if only a few files have changed), and quick enough inside docker.

With incremental compile via make, it compiles quickly enough that re-compiling and restarting the web service automatically when backend files change is quick enough now. This is how the service is run via docker-compose in https://github.com/sharelatex/sharelatex-dev-environment, so it shouldn't be necessary to manually restart the container each time a coffee file changes.

At the moment Jenkins pull web modules in via the GitSCM plugin, but I believe this is creating a dependency in Jenkins, where any commits to any of the modules causes all of the web branches to rebuild. By doing it via our own scripts we can hopefully avoid this. It also creates a build process which is reproducible locally.

**Note that at the moment in this PR all modules pull from `ja-dockerize-dev` branches, but these should be merged first, and this PR updated to point to the master branches before merging**. This is necessary for other changes to build process/docker-compose workflow.

As well as a Makefile for web, there is now a `Makefile.module`. This is copied into each module directory by the top-level Makefile, and is written in a way to be flexible and support unit tests, acceptance tests, front-end js for the ide and main, and the modules `app/coffee` directory, while allowing modules to have some of these missing (not all modules have e.g. acceptance tests, or front-end JS). This will allows us to refine the build process in future, without needing to update the Makefile in each module repo separately (I found this to be a painful part of this development).

This makes web compatible with the docker-compose workflow at https://github.com/sharelatex/sharelatex-dev-environment, where each service is running in its own docker container, with networking managed by docker.

Previously the Makefile was set up to run unit tests in docker with `make unit_tests`. This now just runs them natively. In the CI, they are run in docker anyway (all steps in Jenkins are), and locally, they run fine natively with `npm run test:unit`, or can be run in docker via https://github.com/sharelatex/sharelatex-dev-environment with `bin/run web_sl npm run test:unit`.

Previously we did a lot of juggling with only mounting source files (coffee, less, etc) into the docker container for acceptance tests. This was to avoid creating root owned files if the whole directory was mounted. Now instead the whole web directory is mounted read-only, with the compilation step done outside of the container before running the tests.

This allows the host and container to share the `node_modules` folder as well, which avoids needing to `npm install` twice on the CI box, and should speed up the build by a few minutes.

On macOS, this would cause a problem with compiled modules if you tried to use the same `node_modules` to run the app natively. However, if running via docker-compose in https://github.com/sharelatex/sharelatex-dev-environment, this is no longer a problem.
2018-01-15 09:36:41 +00:00
Tim Alby
08b74c95f5 proxy requests to analytics service 2018-01-10 15:03:14 +02:00
James Allen
bbfcff30fb Enable project history for new projects if enabled in settings 2018-01-03 16:55:33 +00:00
James Allen
ffa2e231fd Fix up tests 2017-12-19 13:58:47 +00:00
Hayden Faulds
3466db0aae add acceptance tests 2017-12-04 09:42:09 +00:00
James Allen
50b3045548 Tidy up docker-compose and makefile 2017-11-29 13:49:36 +00:00
James Allen
fbf8cc2d03 Run acceptance tests via docker compose 2017-11-27 17:10:58 +00:00
Shane Kilkelly
1cedfed1e4 Merge branch 'master' into sk-unlisted-projects 2017-11-02 10:10:09 +00:00
Hayden Faulds
519f041215 Merge pull request #50 from sharelatex/hof-toggle-projec-history
toggle project history
2017-10-24 09:13:50 +01:00
Hayden Faulds
299112f6e0 toggle project history using setting 2017-10-23 15:49:10 +01:00
Shane Kilkelly
7d2bde85ff Add a setting to enable anonymous read-and-write link sharing 2017-10-18 13:04:37 +01:00
Brian Gough
5b0d3d1429 simplify rate-limit checking code 2017-10-09 16:31:01 +01:00
James Allen
5c8442a86f Allow configureable brand prefix with overleaf styles 2017-08-07 17:01:59 +02:00
Shane Kilkelly
0f131d940d Enforce stricter password policy.
- Check minimum password lengths
- Set default policy to 6-128 chars
2017-07-24 11:06:47 +01:00
Shane Kilkelly
149e38855f Add a cooldown mechanism for projects which go over limits 2017-05-09 11:40:42 +01:00
James Allen
4728077cca Add track changes feature flag into model 2017-02-13 11:50:32 +01:00
Shane Kilkelly
525e871d55 Merge branch 'master' into sk-rate-limit-cluster 2017-01-13 14:17:18 +00:00
Shane Kilkelly
731f280e2e Move auth parts of top menu out of config and into web templates.
Move the remaining configuration into a new config var: `nav.header_extras`.
Add a `nav.showSubscriptionLink` var to control visibility of subscription link
in the Account menu.

This will allow admins to more easily configure extra links in the top
navigation bar, without the danger of overwriting the important auth menus.
2017-01-11 10:27:38 +00:00
Henry Oswald
84ce2d0e14 change default nav to use translations for login and register 2017-01-06 11:00:21 +00:00
Shane Kilkelly
259c589076 Add option to restrict invites to existing user accounts. 2016-12-20 09:54:42 +00:00
Shane Kilkelly
535e489ae5 Add an example redis.ratelimiter config. 2016-12-19 12:17:58 +00:00
Shane Kilkelly
cf94429e05 Add a user_email option to the nav "Account" dropdown. 2016-11-29 16:04:20 +00:00
Shane Kilkelly
bfa0e7cf89 WIP: start moving web sessions to cluster 2016-11-08 15:32:36 +00:00
Henry Oswald
d0f9a07197 turn subscriptions off by default 2016-10-12 17:35:40 +01:00
Henry Oswald
ed906f085c fix spelling mistake in error message and comment out settings.defaults 2016-10-03 11:33:14 +01:00
Henry Oswald
0d0f0e8604 wip 2016-09-23 16:38:46 +01:00
James Allen
e412e662ee Set default compileTimeout to 3 minutes for onsite users 2016-09-06 11:41:21 +01:00
Henry Oswald
6a72c2fce0 comment settings back out 2016-08-23 16:46:23 +01:00
Henry Oswald
3d36dc7d6c mvp for not using cdn when blocked 2016-08-19 11:05:35 +01:00
Henry Oswald
93af1a70ac added notifications into settings.defaults 2016-08-05 15:16:01 +01:00
Henry Oswald
3029fb6335 add dark host option and don’t load pdfjs worker via cdn 2016-07-21 19:06:53 +01:00
Henry Oswald
ad60268707 clean up vars for buildjs path and change default to cdn.sharelatex.dev:3000 2016-07-21 09:38:24 +01:00
Henry Oswald
6c78ab4ace got requirejs working nicely with cdn 2016-07-20 12:58:32 +01:00
Henry Oswald
c21549220c mvp for cdn 2016-07-18 14:05:07 +01:00
Henry Oswald
0576380811 allow placeholder for sharing project to be changed 2016-07-14 11:40:32 +01:00
Brian Gough
73ad1fde5c comment out disabling of per user compiles 2016-06-30 15:15:37 +01:00
Brian Gough
c04e00026b remove scaffolding for per-user compiles so that it is always by default 2016-06-30 14:43:03 +01:00
Brian Gough
2b23e13619 Merge pull request #261 from sharelatex/use-parameter-for-bcrypt-rounds
use parameter for bcrypt rounds, rehash passwords on login if necessary
2016-06-28 10:49:33 +01:00
Henry Oswald
cc9f90c3e8 don't set referneces and notifications urls in default as open source does not use them yet 2016-06-24 15:03:15 +01:00
Henry Oswald
8b79587c9b add settings as a value to reference in defaults file 2016-06-17 14:22:20 +01:00
Brian Gough
0906bef5f9 change default bcrypt rounds to 12, to match default in AuthenticationManager 2016-06-17 13:50:32 +01:00
Brian Gough
98a0c54004 use parameter for bcrypt rounds, rehash passwords on login if necessary 2016-06-17 12:22:03 +01:00
Shane Kilkelly
4e63a3c7bd Move betaProgram flag up to top-level of user object 2016-06-06 13:12:24 +01:00
Shane Kilkelly
a5aab40320 Add the betaProgram feature to User model. 2016-06-01 16:17:28 +01:00
Henry Oswald
c918028d14 removed clsi priorty url 2016-05-20 12:46:14 +01:00
Henry Oswald
2abebd850c Merge branch 'project_url_query' into clsi-dynamic-load 2016-05-19 13:08:20 +01:00
Henry Oswald
9db647491a added different ldap config example 2016-04-28 17:21:07 +01:00
Henry Oswald
4d54de8b9a renamed ClsiRequestManager to ClsiCookieManager and improved logging 2016-04-20 15:06:39 +01:00
Caleb Cooper
145b201087 Put brackets around the example ca path for ldap starttls support in the default config. This resolves an issue where the system was breaking the path into an array and trying to act on the first item in that array, "/", rather than the full path. 2016-04-15 13:46:11 -04:00
Henrique Dias
ae79ce75b7 Update settings.defaults.coffee 2016-04-06 11:32:08 -03:00
James Allen
de02928454 Merge branch 'master' into ja_email_tokens 2016-03-17 17:01:26 +00:00
James Allen
724e6b5263 Require explicit value of true for ENV variables in config 2016-03-15 14:14:33 +00:00
Henry Oswald
bf8f9f6d41 change key to maxEntitiesPerProject 2016-03-09 15:53:03 +00:00
James Allen
2116d0271c Update acceptance tests for public projects 2016-03-09 15:30:23 +00:00
Henry Oswald
8f0d1dc73e add in the calls to block large projects 2016-02-29 13:05:17 +00:00
Henry Oswald
5c5888b5dc Merge branch 'pr/221' 2016-02-11 11:44:45 +00:00
Henry Oswald
f136486f4b cleanup layout of notifications 2016-02-04 14:28:31 +00:00
James Allen
f55b0b3819 Add in default config for references api 2016-02-02 14:36:30 +00:00
Henrique Santos
25f9bd30b6 fix config file 2016-01-22 03:54:38 -02:00
Henrique Santos
476eaa8b84 add notification backend and unit test
add notification init frontend
2016-01-21 18:42:50 -02:00
James Allen
5125aa0089 Make templates a premium feature 2016-01-19 13:37:22 +00:00
Henry Oswald
5f66dbebf4 2015 -> 2016 2016-01-04 11:12:10 +00:00
Henry Oswald
1ddf95e746 accesabble != accessible 2015-11-24 16:53:44 +00:00
Henry Oswald
dc066dfbdb added adminDN and adminPW fields to ldap settings 2015-11-19 11:52:11 +00:00
Henry Oswald
f40e984e10 Updated ldap settings to make them clearer 2015-11-17 16:27:29 +00:00
Henry Oswald
377cc11c3b added sixpack to server side 2015-11-12 09:29:44 +00:00
Henry Oswald
c8ba7b72ab Merge branch 'master' of https://github.com/sharelatex/web-sharelatex 2015-11-10 10:36:06 +00:00
James Allen
a153c6682a Put in client side check for document getting too long 2015-11-06 12:51:43 +00:00
James Allen
16b7bf222a Merge branch 'contacts' 2015-11-05 10:14:25 +00:00
Henry Oswald
c4d3537e1d remove sixpack from default settings 2015-11-02 16:28:30 +00:00
Henry Oswald
6c75a6dbe5 change six pack key and add into default settings 2015-10-27 11:37:11 +00:00
Henry Oswald
084b0d8548 update ldap default settings for server pro 2015-10-22 10:42:50 +01:00
Henry Oswald
aba8f164fc copy right 2015 not 2014 2015-10-14 14:44:48 +01:00
James Allen
8cc7869b03 Pull in contacts from contacts api and send to tag-input for autocomplete 2015-10-07 17:32:35 +01:00
Shane Kilkelly
ae10cc5755 Update default raven version to 1.1.22 2015-09-30 10:40:20 +01:00
Henry Oswald
702fdc1480 improved views for domain licence invites 2015-05-29 12:09:28 +01:00
Henry Oswald
481bd67fbd changed paths to use hyphens and add succesfull join page 2015-05-26 15:26:45 +01:00
Henry Oswald
cad8d8a23b v1 basic invite works, not pretty or tested 2015-05-22 13:57:15 +01:00
Henry Oswald
8fc41e9e05 added templateLinks property to example config for ShareLaTeX server pro 2015-05-10 13:10:03 +01:00
Henry Oswald
11a5c009a6 make default password rules very permisive 2015-04-28 17:42:30 +01:00
Henry Oswald
cdbc239a62 config the password options via the settings 2015-04-28 17:39:35 +01:00
James Allen
5c30a7de67 Add in option for global login requirement (defaults to on) 2015-04-15 11:14:53 +01:00
James Allen
8b4ccae60a Read cookie session length from settings file 2015-04-14 13:04:29 +01:00
Henry Oswald
5f6bdaf700 show the social buttons by default in settings 2015-04-13 11:30:59 +01:00
James Allen
8483f249ee Actually proxy websocket connections 2015-03-20 19:08:48 +00:00
James Allen
d76ef86077 Tell user to contact admin email to register 2015-03-18 16:20:26 +00:00
James Allen
0f69ee0f22 Add in proxy for /socket.io so that we don't need to faff with real-time service location 2015-03-09 14:09:09 +00:00
James Allen
d376acdaa9 Allow an __appName__ parameter in translations 2015-03-09 12:14:30 +00:00
Henry Oswald
8100f988b2 comment out ldap in settings.defaults 2015-02-26 11:40:02 +00:00
Henry Oswald
161f24ffdf add flag which requires login for /learn 2015-02-24 22:07:36 +00:00
Henry Oswald
6a3f760c6f added ShareLaTeX server pro options with ldap into settings.defaults 2015-02-20 12:09:35 +00:00
James Allen
f75376124e Update open source branding 2015-02-05 16:56:35 +00:00
Brian Gough
419d84564c add support for client-side error logging using sentry 2014-12-12 13:58:07 +00:00
Henry Oswald
6d22bda88f added new currencies removed ab test as well 2014-11-21 13:13:53 +00:00
James Allen
e559c72491 Connect to configurable websocket service 2014-11-17 13:38:44 +00:00
Henry Oswald
7ba6689ea0 add clsi2_priority to settings.defaults 2014-10-20 12:21:58 +01:00
Henry Oswald
2538d16e63 Merge branch 'master' of https://github.com/sharelatex/web-sharelatex 2014-10-14 11:50:10 +01:00
James Allen
5edefe2498 Add in compile timeout and group feature options 2014-10-13 15:42:11 +01:00
Henry Oswald
36264706f6 hooked the plans page up to the geo ip lookup 2014-10-13 14:10:15 +01:00
Henry Oswald
9924882b59 Merge branch 'master' of https://github.com/sharelatex/web-sharelatex 2014-10-09 16:45:26 +01:00
Henry Oswald
c2c29bb282 university site renders via prozy ok 2014-10-08 16:07:44 +01:00
James Allen
8f7dff1518 Don't show empty sync menu list for collaborators 2014-10-08 15:57:56 +01:00
James Allen
becb294c5c Create basic module loading system 2014-09-08 14:19:24 +01:00
watercrossing
e5218af015 fix typo in settings 2014-09-01 23:15:38 +01:00
James Allen
456d194dbb Merge branch 'james_tmp' 2014-08-22 12:51:35 +01:00
Henry Oswald
04e50f8ba6 changed cookie name from hard coded to be config option, defaults to sharelatex.sid 2014-08-20 18:01:21 +01:00
James Allen
d0eee7a1e5 Refactor template settings 2014-08-20 14:47:27 +01:00
Henrique Dias
a3f9f5a729 fix identation 2014-08-18 14:35:16 -03:00
Henrique Dias
e0e9949da5 dynamic template menu by config settings 2014-08-18 14:26:47 -03:00
Henrique Dias
acf392eb4e init chance in config 2014-08-18 13:59:34 -03:00
Henry Oswald
2222b32321 added message at top of page offering redirect to local lng 2014-08-13 12:31:14 +01:00
James Allen
5ec1c59a31 Add in i18n defaults 2014-08-07 17:03:47 +01:00
Henry Oswald
377acfaa56 added default lang of en-US and translations package does the set lang based on subdomain 2014-08-05 11:15:17 +01:00
Henry Oswald
2be22d7ca7 cookies work accross different subdomains, added translations middlewear into stack to render based on domain 2014-08-04 16:47:14 +01:00
James Allen
e0f1ed3c10 Use internal url for chat 2014-07-17 11:43:12 +01:00
Henry Oswald
8f6dac77d0 added asset proxying from templates in, used for old images etc which people linked to 2014-07-01 16:00:42 +01:00
Henry Oswald
978e3262b5 added redirects from config file in, used for old template paths 2014-07-01 15:44:12 +01:00
Henry Oswald
17537b0d7a client side js for templates loads and works 2014-07-01 14:27:20 +01:00
James Allen
9dfbb36a83 Update project settings over http 2014-06-25 13:51:02 +01:00
James Allen
d214b5dc5e Merge branch 'master' into master-redesign 2014-06-25 12:14:26 +01:00
James Allen
cb682ac584 Add in more robust support for being behind a proxy 2014-06-25 10:34:23 +01:00
James Allen
e5ca033538 Add in configurable headings/footers 2014-06-20 21:35:42 +01:00
Henry Oswald
fd53cf0124 tell tpds sender to use pub url for docstore 2014-05-21 09:15:50 +01:00
James Allen
e72dd50089 Use configurable uploads folder location 2014-05-15 16:32:17 +01:00
James Allen
8af372aff3 Revert "Revert "Get doc lines from docstore when performing batch operations""
This reverts commit a700665650b5984fdb3afe5565d62ba810100ebe.
2014-05-06 12:35:27 +01:00
James Allen
9be4feaae1 Revert "Get doc lines from docstore when performing batch operations"
This reverts commit 9fab27158cb02b0268f8e6aec090f275f062d885.
2014-05-01 17:19:21 +01:00
James Allen
465b5ca9db Get doc lines from docstore when performing batch operations 2014-04-30 15:49:07 +01:00
James Allen
f3314437ab Create default settings file 2014-04-30 11:33:31 +01:00
James Allen
355a5a020e Keep reference to deleted docs and delete via docstore 2014-04-30 11:15:29 +01:00
Henry Oswald
fc2b42400f Merge pull request #54 from cwoac/nodemailer-passthrough
Nodemailer passthrough
2014-03-18 13:09:14 +00:00
Oliver Matthews
efbb17a3b9 move all parameter handling to nodemailer. 2014-03-12 15:38:40 +00:00
Henry Oswald
f2069c6208 converted all analytics to use new google analytics, removing mixpanel
and heap. Not tracking subscriptions or cancelations yet.
2014-03-08 19:00:26 +00:00
Henry Oswald
5bacb2d784 added settings check on sending lifcycle emails out 2014-03-05 11:22:52 +00:00
Henry Oswald
fe026b4b0b changed templates port to 3007 which is line with elsewhere 2014-03-03 16:19:52 +00:00
James Allen
ca1ebd0413 Take default features from settings 2014-02-22 10:50:59 +00:00
James Allen
8715690ce9 Intial open source comment 2014-02-12 10:23:40 +00:00