No description
Find a file
Tor Lillqvist 551c3d96e5 Enable avoiding use of ETag for remote font files
Change the syntax of the remote font configuration JSON file. Now for
each font we can also have a "stamp" property that can be a time stamp
or whatever other random string that gets changed (by some automated
mechanism provided by system integrators) whenever the corresponding
font file has changed. If a such is provided we don't poll the ETag of
the font file but re-download it whenever its stamp in the JSON file
has changed.

The remote font configuration file now should look like this:

{
    "kind": "fontconfiguration",
    "server": "My pretty server name for admin console",
    "fonts": [
	{
	    "uri": "http://localhost/tml/MS33558.ttf"
	},
	{
	    "uri": "http://localhost/tml/SmoochSans-VariableFont_wght.ttf",
	    "stamp": "foo0"
	},
	{
	    "uri": "http://localhost/tml/B612-Regular.ttf",
	    "stamp": "foo3"
	},
	{
	    "uri": "http://localhost/tml/xxx.ttf"
	}
    ]
}

Where the value of the "stamp" properties can be any non-empty
string. The JSON file is checked once a minute. If it has changed it
is re-downloaded, and if the stamp of some font has changed, that font
file is re-downloaded.

When a font file is re-downloaded it is stored in a new file each
time. The old file is not removed as that will cause problems in
ForKit and Kit processes.

Signed-off-by: Tor Lillqvist <tml@collabora.com>
Change-Id: Ib04b77e0fb9e1d9c33afdc14a5fed3ad0b12a409
2022-04-21 19:10:10 +01:00
.git-hooks
.github Attempt to fix a codeql error 2022-04-05 11:08:36 +02:00
.gitpod-files Remove the old vex-based welcome dialog code 2022-04-04 10:53:07 +02:00
android Android: change targetSdkVersion and compileSdkVersion to 30 2022-04-01 19:42:07 +02:00
browser Do not display About button on notebookbar when About box is removed (fixes #3528) 2022-04-21 17:05:37 +02:00
common wsd: minor cleanup of send-frame members 2022-04-20 08:34:59 -04:00
cypress_test Fix cypress test after InsertZWNBSP->InsertWJ 2022-04-21 15:01:57 +02:00
debian Update debian/changelog for 22.05 test build 2022-04-05 14:13:49 +02:00
docker [docker] Remove -j from core build 2022-04-12 09:57:10 +02:00
etc
fuzzer clientsession_fuzzer: fix missing UnitWSD 2022-01-21 14:52:31 +01:00
gtk
indexing
ios Make the TranslateId things compile against co-22.05 2022-04-19 18:15:15 +03:00
kit wsd: remove argument default-value 2022-04-20 08:34:59 -04:00
kubernetes/helm
man coolconfig: updated man page 2022-01-13 22:25:44 +01:00
net wsd: remove identical simulateSocketError override 2022-04-20 08:34:59 -04:00
scripts
test make: fail the build when the whitebox unittests fail 2022-04-20 08:34:59 -04:00
tools wsd: move tokenizer helpers into StringVector 2022-04-12 07:39:07 -04:00
wsd Enable avoiding use of ETag for remote font files 2022-04-21 19:10:10 +01:00
.cirrus.yml
.clang-format
.clang-tidy
.gitignore wsd: kill coolwsd_fuzzer 2022-04-20 07:12:03 -04:00
.gitpod.dockerfile GitPod: Fix yml and dockerfile, edit configure recipe 2021-11-26 18:20:53 +01:00
.gitpod.yml GitPod: Update core assets url to 22.05 2022-04-19 15:32:43 +02:00
.mailmap
AUTHORS
autogen.sh
browsersync-config.js
ChangeLog
CODE_OF_CONDUCT.md
configure.ac We do not use tunneled sidebar any more 2022-04-21 17:05:18 +02:00
CONTRIBUTING.md Add info on PR policy 2022-01-19 10:21:23 +01:00
coolkitconfig-mobile.xcu
coolkitconfig.xcu.in We do not use tunneled sidebar any more 2022-04-21 17:05:18 +02:00
coolwsd-generate-proof-key Make coolwsd-generate-proof-key prepared for a custom prefix. 2021-12-22 15:18:35 +01:00
coolwsd-systemplate-setup Add a remote font download feature 2022-04-15 17:32:41 +03:00
coolwsd-welcome.xml Remove the old vex-based welcome dialog code 2022-04-04 10:53:07 +02:00
coolwsd.init.rhel6
coolwsd.service
coolwsd.spec.in check for existence of old config file before config migration 2022-01-18 07:44:47 +01:00
coolwsd.xml.in Add a remote font download feature 2022-04-15 17:32:41 +03:00
COPYING
discovery.xml Editing of document templates does not work well currently 2022-03-15 14:05:12 +01:00
favicon.ico
g
jsstress.in
Makefile.am wsd: kill coolwsd_fuzzer 2022-04-20 07:12:03 -04:00
NEWS
PROBLEMS
README.CONTRIBUTING.md
README.md Communication channels: Add more information 2022-04-14 11:29:42 +02:00
SECURITY.md
sysconfig.coolwsd
trace-event.sample2.json

Build Status Build Status

Build Status Build Status

Open in Gitpod

Collabora Online

Master: Pull request policy

irc Telegram Forum Website L10n Gitpod Ready-to-Code

LibreOffice in the Cloud on your own Terms

Key features

  • View and edit text documents, spreadsheets, presentations & more
  • Collaborative editing features
  • Works in any modern browser no plugin needed
  • Open Source primarily under the MPLv2 license. Some parts are under other open source licences, see e.g. browser/LICENSE.

Website

For many more details, build instructions, downloads and more please visit https://collaboraonline.github.io/

Developer assistance

Please ask your questions on any of the bridged IRC/Matrix/Telegram rooms

Join the conversation on our Discourse server at https://forum.collaboraonline.com/

Watch the tinderbox status (if it's green) at https://cpci.cbg.collabora.co.uk:8080/view/Tinderbox/job/Tinderbox%20for%20online%20master/

Development bits

This project has several components:

  • wsd/
    • The Web Services Daemon - which accepts external connections
  • kit/
    • The client which lives in its own chroot and renders documents
  • common/
    • Shared code between these processes
  • browser/
    • The client side JavaScript component
  • test/
    • C++ based unit tests
  • cypress_test/
    • JavaScript based integration tests

Please consult the README files in the component's directory for more details:

  • wsd/README
  • browser/README

iOS and Android apps

See the corresponding READMEs:

  • ios/README
  • android/README

GitPod

Head over to https://collaboraonline.github.io/post/build-code/ select gitpod from the dropdown and follow the steps.

Interesting things to keep in mind:

  • Make sure your browser is not blocking windows/tabs from opening from the gitpod workspace URL (maybe add *.gitpod.io to your browser's whitelist)
    • The GitPod tasks will run automatically and further instructions will be printed out right in the terminal
    • VNC tab will open automatically if not just click in the left icon Remote explorer and click 6080. You will see a tab completly black, that's normal.
    • As mentioned in those instructions if you are not using the VS Code desktop and if you are only relying on your browser please:
      • Do not try to click the URL from the make run out put instead copy that URL and execute firefox [paste URL here]
      • Head over to the tab where the VNC is opened (black page), you will see Firefox opening there, maximize and have fun.
      • You can also run cypress tests via GitPod but you will need to use Firefox, for that just prepend CYPRESS_BROWSER="firefox" to the desired command. Example: CYPRESS_BROWSER="firefox" make check for every test or CYPRESS_BROWSER="firefox" make check-desktop spec=impress/scrolling_spec.js for one specific test on desktop

Enjoy!