diff options
Diffstat (limited to 'docs/source/siteadmin')
-rw-r--r-- | docs/source/siteadmin/commandline-upload.rst | 14 | ||||
-rw-r--r-- | docs/source/siteadmin/configuration.rst | 30 | ||||
-rw-r--r-- | docs/source/siteadmin/deploying.rst | 60 | ||||
-rw-r--r-- | docs/source/siteadmin/foreword.rst | 9 | ||||
-rw-r--r-- | docs/source/siteadmin/media-types.rst | 58 | ||||
-rw-r--r-- | docs/source/siteadmin/plugins.rst | 4 | ||||
-rw-r--r-- | docs/source/siteadmin/production-deployments.rst | 19 | ||||
-rw-r--r-- | docs/source/siteadmin/relnotes.rst | 88 | ||||
-rw-r--r-- | docs/source/siteadmin/theming.rst | 18 |
9 files changed, 143 insertions, 157 deletions
diff --git a/docs/source/siteadmin/commandline-upload.rst b/docs/source/siteadmin/commandline-upload.rst index 69098312..756f5fa8 100644 --- a/docs/source/siteadmin/commandline-upload.rst +++ b/docs/source/siteadmin/commandline-upload.rst @@ -37,6 +37,7 @@ Here's a longer example that makes use of more options:: ./bin/gmg addmedia aveyah awesome_spaceship.png \ --title "My awesome spaceship" \ --description "Flying my awesome spaceship, since I'm an awesome pilot" \ + --collection-slug i-m-an-awesome-pilot \ --license "http://creativecommons.org/licenses/by-sa/3.0/" \ --tags "spaceships, pilots, awesome" \ --slug "awesome-spaceship" @@ -57,7 +58,7 @@ it is a bit more complex. This is an example of what a script may look like. The important part here is that you have to create the 'metadata.csv' file.:: - media:location,dcterms:title,dcterms:creator,dcterms:type + location,dcterms:title,dcterms:creator,dcterms:type "http://www.example.net/path/to/nap.png","Goblin taking a nap",,"Image" "http://www.example.net/path/to/snore.ogg","Goblin Snoring","Me","Audio" @@ -65,14 +66,14 @@ The above is an example of a very simple metadata.csv file. The batchaddmedia script would read this and attempt to upload only two pieces of media, and would be able to automatically name them appropriately. -The csv file +The CSV file ============ The location column ------------------- The location column is the one column that is absolutely necessary for uploading your media. This gives a path to each piece of media you upload. This can either a path to a local file or a direct link to remote media (with the -link in http format). As you can see in the example above the (fake) media was +link in HTTP format). As you can see in the example above the (fake) media was stored remotely on "www.example.net". Other internal nodes @@ -83,9 +84,10 @@ provide default information for your media entry, but as you'll see below, it's just as easy to provide this information through the correct metadata columns. - **id** is used to identify the media entry to the user in case of an error in the batchaddmedia script. -- **license** is used to set a license for your piece a media for mediagoblin's use. This must be a URI. -- **title** will set the title displayed to mediagoblin users. +- **license** is used to set a license for your piece a media for MediaGoblin's use. This must be a URI. +- **title** will set the title displayed to MediaGoblin users. - **description** will set a description of your media. +- **collection-slug** will add the media to a collection, if a collection with the given slug exists. Metadata columns ---------------- @@ -106,7 +108,7 @@ information of uploaded media entries. - **dc:title** sets a title for your media entry. - **dc:description** sets a description of your media entry. -If both a metadata column and an internal node for the title are provided, mediagoblin +If both a metadata column and an internal node for the title are provided, MediaGoblin will use the internal node as the media entry's display name. This makes it so that if you want to display a piece of media with a different title than the one provided in its metadata, you can just provide different data for diff --git a/docs/source/siteadmin/configuration.rst b/docs/source/siteadmin/configuration.rst index dd0d6cd9..1b8dc9bb 100644 --- a/docs/source/siteadmin/configuration.rst +++ b/docs/source/siteadmin/configuration.rst @@ -39,12 +39,12 @@ paste.ini <http://pythonpaste.org/script/>`_). It also sets up some middleware that you can mostly ignore, except to configure sessions... more on that later. If you are adding a different - Python server other than fastcgi / plain HTTP, you might configure + Python server other than FastCGI / plain HTTP, you might configure it here. You probably won't need to change this file very much. There's one more file that you certainly won't change unless you're -making coding contributions to mediagoblin, but which can be useful to +making coding contributions to MediaGoblin, but which can be useful to read and reference: mediagoblin/config_spec.ini @@ -54,30 +54,6 @@ mediagoblin/config_spec.ini option that we didn't tell you about. :) -Making local copies -=================== - -Let's assume you're doing the virtualenv setup described elsewhere in this -manual, and you need to make local tweaks to the config files. How do you do -that? Let's see. - -To make changes to mediagoblin.ini :: - - cp mediagoblin.ini mediagoblin_local.ini - -To make changes to paste.ini :: - - cp paste.ini paste_local.ini - -From here you should be able to make direct adjustments to the files, -and most of the commands described elsewhere in this manual will "notice" -your local config files and use those instead of the non-local version. - -.. note:: - - Note that all commands provide a way to pass in a specific config - file also, usually by a ``-cf`` flag. - Common changes ============== @@ -128,7 +104,7 @@ If you use ``lazyserver.sh`` you need to change the ``paste.ini`` file:: [app:mediagoblin] /mgoblin_media = /var/mediagoblin/user_data -If you use nginx you need to change the config:: +If you use Nginx you need to change the config:: # Instance specific media: location /mgoblin_media/ { diff --git a/docs/source/siteadmin/deploying.rst b/docs/source/siteadmin/deploying.rst index 47901da9..42fe1772 100644 --- a/docs/source/siteadmin/deploying.rst +++ b/docs/source/siteadmin/deploying.rst @@ -25,7 +25,7 @@ will take you step-by-step through setting up your own instance of MediaGoblin. Of course, when it comes to setting up web applications like MediaGoblin, there's an almost infinite way to deploy things, so for now, we'll keep it simple with some assumptions. We recommend a setup that combines MediaGoblin + -virtualenv + fastcgi + nginx on a .deb- or .rpm-based GNU/Linux distro. +virtualenv + FastCGI + Nginx on a .deb- or .rpm-based GNU/Linux distro. Other deployment options (e.g., deploying on FreeBSD, Arch Linux, using Apache, etc.) are possible, though! If you'd prefer a different deployment @@ -65,25 +65,30 @@ MediaGoblin has the following core dependencies: - `virtualenv <http://www.virtualenv.org/>`_ - `nodejs <https://nodejs.org>`_ -On a DEB-based system (e.g Debian, gNewSense, Trisquel, *buntu, and +On a DEB-based system (e.g Debian, gNewSense, Trisquel, \*buntu, and derivatives) issue the following command:: sudo apt-get install git-core python python-dev python-lxml \ python-imaging python-virtualenv npm nodejs-legacy automake \ - nginx + nginx rabbitmq-server On a RPM-based system (e.g. Fedora, RedHat, and derivatives) issue the following command:: sudo yum install python-paste-deploy python-paste-script \ git-core python python-devel python-lxml python-imaging \ - python-virtualenv npm automake nginx + python-virtualenv npm automake nginx rabbitmq-server (Note: MediaGoblin now officially supports Python 3. You may instead substitute from "python" to "python3" for most package names in the Debian instructions and this should cover dependency installation. These instructions have not yet been tested on Fedora.) +(Note: you might have to include additional repositories to a RPM- +based system, because rabbitmq-server might be not included in +official repositories. As an alternative, you can try installing +redis-server and configure it as celery broker) + Configure PostgreSQL ~~~~~~~~~~~~~~~~~~~~ @@ -94,7 +99,7 @@ Configure PostgreSQL For medium to large deployments we recommend PostgreSQL. - If you don't want/need postgres, skip this section. + If you don't want/need PostgreSQL, skip this section. These are the packages needed for Debian Jessie (stable):: @@ -105,7 +110,7 @@ These are the packages needed for an RPM-based system:: sudo yum install postgresql postgresql-server python-psycopg2 An rpm-based system also requires that you initialize and start the -PostgresSQL database with a few commands. The following commands are +PostgreSQL database with a few commands. The following commands are not needed on a Debian-based platform, however:: sudo /usr/bin/postgresql-setup initdb @@ -113,8 +118,8 @@ not needed on a Debian-based platform, however:: sudo systemctl start postgresql The installation process will create a new *system* user named ``postgres``, -which will have privilegies sufficient to manage the database. We will create a -new database user with restricted privilegies and a new database owned by our +which will have privileges sufficient to manage the database. We will create a +new database user with restricted privileges and a new database owned by our restricted database user for our MediaGoblin instance. In this example, the database user will be ``mediagoblin`` and the database @@ -200,10 +205,10 @@ Create a MediaGoblin Directory You should create a working directory for MediaGoblin. This document assumes your local git repository will be located at ``/srv/mediagoblin.example.org/mediagoblin/``. -Substitute your prefered local deployment path as needed. +Substitute your preferred local deployment path as needed. Setting up the working directory requires that we first create the directory -with elevated priviledges, and then assign ownership of the directory +with elevated privileges, and then assign ownership of the directory to the unprivileged system account. To do this, enter the following command, changing the defaults to suit your @@ -235,7 +240,7 @@ Change to the MediaGoblin directory that you just created:: Clone the MediaGoblin repository and set up the git submodules:: - $ git clone git://git.savannah.gnu.org/mediagoblin.git -b stable + $ git clone https://git.savannah.gnu.org/git/mediagoblin.git -b stable $ cd mediagoblin $ git submodule init && git submodule update @@ -245,7 +250,7 @@ Clone the MediaGoblin repository and set up the git submodules:: gitorious.org shut down, we had to move. We are presently on Savannah. You may need to update your git repository location:: - $ git remote set-url origin git://git.savannah.gnu.org/mediagoblin.git + $ git remote set-url origin https://git.savannah.gnu.org/git/mediagoblin.git Set up the hacking environment:: @@ -314,25 +319,28 @@ Edit site configuration ~~~~~~~~~~~~~~~~~~~~~~~ A few basic properties must be set before MediaGoblin will work. First -make a copy of ``mediagoblin.ini`` and ``paste.ini`` for editing so the original +make a copy of ``paste.ini`` for editing so the original config files aren't lost (you likely won't need to edit the paste configuration, but we'll make a local copy of it just in case):: - $ cp -av mediagoblin.ini mediagoblin_local.ini && cp -av paste.ini paste_local.ini + $ cp -av paste.ini paste_local.ini + +``mediagoblin.ini`` does not need to be copied, because original config is +stored in ``mediagoblin.example.ini``. -Then edit mediagoblin_local.ini: +Then edit ``mediagoblin.ini``: - Set ``email_sender_address`` to the address you wish to be used as the sender for system-generated emails - Edit ``direct_remote_path``, ``base_dir``, and ``base_url`` if your mediagoblin directory is not the root directory of your - vhost. + site. Configure MediaGoblin to use the PostgreSQL database ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -If you are using postgres, edit the ``[mediagoblin]`` section in your -``mediagoblin_local.ini`` and put in:: +If you are using PostgreSQL, edit the ``[mediagoblin]`` section in your +``mediagoblin.ini`` and put in:: sql_engine = postgresql:///mediagoblin @@ -361,7 +369,7 @@ test the deployment with the following command:: You should be able to connect to the machine on port 6543 in your browser to confirm that the service is operable. -The next series of commands will need to be run as a priviledged user. Type +The next series of commands will need to be run as a privileged user. Type exit to return to the root/sudo account.:: exit @@ -372,9 +380,9 @@ exit to return to the root/sudo account.:: FastCGI and nginx ~~~~~~~~~~~~~~~~~ -This configuration example will use nginx, however, you may +This configuration example will use Nginx, however, you may use any webserver of your choice as long as it supports the FastCGI -protocol. If you do not already have a web server, consider nginx, as +protocol. If you do not already have a web server, consider Nginx, as the configuration files may be more clear than the alternatives. @@ -397,7 +405,7 @@ following commands:: sudo systemctl enable nginx You can modify these commands and locations depending on your preferences and -the existing configuration of your nginx instance. The contents of +the existing configuration of your Nginx instance. The contents of this ``nginx.conf`` file should be modeled on the following:: server { @@ -457,7 +465,7 @@ this ``nginx.conf`` file should be modeled on the following:: fastcgi_pass 127.0.0.1:26543; include /etc/nginx/fastcgi_params; - # our understanding vs nginx's handling of script_name vs + # our understanding vs Nginx's handling of script_name vs # path_info don't match :) fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_param SCRIPT_NAME ""; @@ -481,8 +489,8 @@ test to ensure that this configuration works:: nginx -t -If you encounter any errors, review your nginx configuration files, and try to -resolve them. If you do not encounter any errors, you can start your nginx +If you encounter any errors, review your Nginx configuration files, and try to +resolve them. If you do not encounter any errors, you can start your Nginx server with one of the following commands (depending on your environment):: sudo /etc/init.d/nginx restart @@ -529,7 +537,7 @@ a) Disable registration on your instance and just make [mediagoblin] allow_registration = false -b) Enable a captcha plugin. But unfortunately, though some captcha +b) Enable a CAPTCHA plugin. But unfortunately, though some CAPTCHA plugins exist, for various reasons we do not have any general recommendations we can make at this point. diff --git a/docs/source/siteadmin/foreword.rst b/docs/source/siteadmin/foreword.rst index 4c425f8d..24282f96 100644 --- a/docs/source/siteadmin/foreword.rst +++ b/docs/source/siteadmin/foreword.rst @@ -34,13 +34,14 @@ Improving the Site Administrator's Guide There are a few ways---please pick whichever method is convenient for you! -1. Write up a bug report in the bug tracker +1. Write up a bug report in the `bug tracker`_. 2. Tell someone on IRC ``#mediagoblin`` on Freenode. -3. Write an email to the devel mailing list. +3. Write an email to the `devel mailing list`_. -Information about the bugtracker, IRC and the mailing list is all on -the `join page`_. +More information about contributing is available on the `join page`_. +.. _bug tracker: https://issues.mediagoblin.org/ +.. _devel mailing list: http://lists.mediagoblin.org/listinfo/devel .. _join page: http://mediagoblin.org/join/ Patches are the most helpful, but even feedback on what you think diff --git a/docs/source/siteadmin/media-types.rst b/docs/source/siteadmin/media-types.rst index 38770638..8f9239be 100644 --- a/docs/source/siteadmin/media-types.rst +++ b/docs/source/siteadmin/media-types.rst @@ -19,10 +19,10 @@ Media Types In the future, there will be all sorts of media types you can enable, but in the meanwhile there are six additional media types: video, audio, -raw image, ascii art, STL/3d models, PDF and Document. +raw image, ASCII art, STL/3D models, PDF and Document. First, you should probably read ":doc:`configuration`" to make sure -you know how to modify the mediagoblin config file. +you know how to modify the MediaGoblin config file. Enabling Media Types ==================== @@ -30,17 +30,14 @@ Enabling Media Types .. note:: Media types are now plugins -Media types are enabled in your mediagoblin configuration file, typically it is -created by copying ``mediagoblin.ini`` to ``mediagoblin_local.ini`` and then -applying your changes to ``mediagoblin_local.ini``. If you don't already have a -``mediagoblin_local.ini``, create one in the way described. +Media types are enabled in your MediaGoblin configuration file. Most media types have additional dependencies that you will have to install. You will find descriptions on how to satisfy the requirements of each media type on this page. To enable a media type, add the the media type under the ``[plugins]`` section -in you ``mediagoblin_local.ini``. For example, if your system supported image +in you ``mediagoblin.ini``. For example, if your system supported image and video media types, then it would look like this:: [plugins] @@ -81,8 +78,8 @@ instance the ``video`` media type configuration can be found in Video ===== -To enable video, first install gstreamer and the python-gstreamer -bindings (as well as whatever gstremaer extensions you want, +To enable video, first install GStreamer and the python-gstreamer +bindings (as well as whatever GStreamer extensions you want, good/bad/ugly). On Debianoid systems .. code-block:: bash @@ -99,7 +96,7 @@ good/bad/ugly). On Debianoid systems Add ``[[mediagoblin.media_types.video]]`` under the ``[plugins]`` section in -your ``mediagoblin_local.ini`` and restart MediaGoblin. +your ``mediagoblin.ini`` and restart MediaGoblin. Run @@ -107,7 +104,7 @@ Run ./bin/gmg dbupdate -Now you should be able to submit videos, and mediagoblin should +Now you should be able to submit videos, and MediaGoblin should transcode them. .. note:: @@ -121,8 +118,8 @@ transcode them. Audio ===== -To enable audio, install the gstreamer and python-gstreamer bindings (as well -as whatever gstreamer plugins you want, good/bad/ugly), scipy and numpy are +To enable audio, install the GStreamer and python-gstreamer bindings (as well +as whatever GStreamer plugins you want, good/bad/ugly), SciPy and NumPy are also needed for the audio spectrograms. To install these on Debianoid systems, run:: @@ -139,7 +136,7 @@ Then install ``scikits.audiolab`` for the spectrograms:: ./bin/pip install scikits.audiolab Add ``[[mediagoblin.media_types.audio]]`` under the ``[plugins]`` section in your -``mediagoblin_local.ini`` and restart MediaGoblin. +``mediagoblin.ini`` and restart MediaGoblin. Run @@ -160,7 +157,7 @@ To enable raw image you need to install pyexiv2. On Debianoid systems sudo apt-get install python-pyexiv2 Add ``[[mediagoblin.media_types.raw_image]]`` under the ``[plugins]`` -section in your ``mediagoblin_local.ini`` and restart MediaGoblin. +section in your ``mediagoblin.ini`` and restart MediaGoblin. Run @@ -168,24 +165,23 @@ Run ./bin/gmg dbupdate -Now you should be able to submit raw images, and mediagoblin should +Now you should be able to submit raw images, and MediaGoblin should extract the JPEG preview from them. -Ascii art +ASCII art ========= -To enable ascii art support, first install the +To enable ASCII art support, first install the `chardet <http://pypi.python.org/pypi/chardet>`_ -library, which is necessary for creating thumbnails of ascii art +library, which is necessary for creating thumbnails of ASCII art .. code-block:: bash ./bin/easy_install chardet -Next, modify (and possibly copy over from ``mediagoblin.ini``) your -``mediagoblin_local.ini``. In the ``[plugins]`` section, add +Next, modify your ``mediagoblin.ini``. In the ``[plugins]`` section, add ``[[mediagoblin.media_types.ascii]]``. Run @@ -194,20 +190,20 @@ Run ./bin/gmg dbupdate -Now any .txt file you uploaded will be processed as ascii art! +Now any .txt file you uploaded will be processed as ASCII art! -STL / 3d model support +STL / 3D model support ====================== -To enable the "STL" 3d model support plugin, first make sure you have -a recentish `Blender <http://blender.org>`_ installed and available on +To enable the "STL" 3D model support plugin, first make sure you have +a recent `Blender <http://blender.org>`_ installed and available on your execution path. This feature has been tested with Blender 2.63. It may work on some earlier versions, but that is not guaranteed (and is surely not to work prior to Blender 2.5X). Add ``[[mediagoblin.media_types.stl]]`` under the ``[plugins]`` section in your -``mediagoblin_local.ini`` and restart MediaGoblin. +``mediagoblin.ini`` and restart MediaGoblin. Run @@ -223,9 +219,9 @@ PDF and Document To enable the "PDF and Document" support plugin, you need: -1. pdftocairo and pdfinfo for pdf only support. +1. pdftocairo and pdfinfo for PDF only support. -2. unoconv with headless support to support converting libreoffice supported +2. unoconv with headless support to support converting LibreOffice supported documents as well, such as doc/ppt/xls/odf/odg/odp and more. For the full list see mediagoblin/media_types/pdf/processing.py, unoconv_supported. @@ -238,7 +234,7 @@ To install this on Fedora: sudo yum install -y poppler-utils unoconv libreoffice-headless -Note: You can leave out unoconv and libreoffice-headless if you want only pdf +Note: You can leave out unoconv and libreoffice-headless if you want only PDF support. This will result in a much smaller list of dependencies. pdf.js relies on git submodules, so be sure you have fetched them: @@ -256,7 +252,7 @@ This feature has been tested on Fedora with: It may work on some earlier versions, but that is not guaranteed. Add ``[[mediagoblin.media_types.pdf]]`` under the ``[plugins]`` section in your -``mediagoblin_local.ini`` and restart MediaGoblin. +``mediagoblin.ini`` and restart MediaGoblin. Run @@ -271,7 +267,7 @@ Blog (HIGHLY EXPERIMENTAL) MediaGoblin has a blog media type, which you might notice by looking through the docs! However, it is *highly experimental*. We have not security reviewed this, and it acts in a way that is not like normal -blogs (the blogposts are themselves media types!). +blogs (the blog posts are themselves media types!). So you can play with this, but it is not necessarily recommended yet for production use! :) diff --git a/docs/source/siteadmin/plugins.rst b/docs/source/siteadmin/plugins.rst index 67c8bad1..8682b0c7 100644 --- a/docs/source/siteadmin/plugins.rst +++ b/docs/source/siteadmin/plugins.rst @@ -111,7 +111,7 @@ Check the plugin's documentation for what configuration options are available. Once you've set up your plugin, you should be sure to update the -database to accomodate the new plugins:: +database to accommodate the new plugins:: ./bin/gmg dbupdate @@ -121,7 +121,7 @@ Deactivating plugins You should be aware that once you enable a plugin, deactivating it might be a bit tricky, for migrations reasons. In the future we may -produce better tooling to accomodate this. In short, you will need to +produce better tooling to accommodate this. In short, you will need to do a bit of database surgery by: - Removing all tables and indexes installed by the plugin diff --git a/docs/source/siteadmin/production-deployments.rst b/docs/source/siteadmin/production-deployments.rst index e65ac332..3d11f022 100644 --- a/docs/source/siteadmin/production-deployments.rst +++ b/docs/source/siteadmin/production-deployments.rst @@ -24,10 +24,10 @@ Deploy with paste The MediaGoblin WSGI application instance you get with ``./lazyserver.sh`` is not ideal for a production MediaGoblin deployment. Ideally, you should be able -to use a systemd service file or an init script to launch and restart the +to use a Systemd service file or an init script to launch and restart the MediaGoblin process. -We will explore setting up MediaGoblin systemd service files and init scripts, +We will explore setting up MediaGoblin Systemd service files and init scripts, but first we need to create the directory that will store the MediaGoblin logs. @@ -45,10 +45,10 @@ proper permissions:: .. _systemd-service-files: -Use systemd service files +Use Systemd service files ------------------------- -If your operating system uses systemd, you can use systemd ``service files`` +If your operating system uses Systemd, you can use Systemd ``service files`` to manage both the Celery and Paste processes. Place the following service files in the ``/etc/systemd/system/`` directory. @@ -62,18 +62,21 @@ modify it to suit your environment's setup: # If using Fedora/CentOS/Red Hat, mkdir and chown are located in /usr/bin/mkdir and /usr/bin/chown, respectively. [Unit] - Description=Mediagoblin Celeryd + Description=MediaGoblin Celeryd [Service] User=mediagoblin Group=mediagoblin Type=simple WorkingDirectory=/srv/mediagoblin.example.org/mediagoblin + # Start mg-celeryd process as root, then switch to mediagoblin user/group + # (This is needed to run the ExecStartPre commands) + PermissionsStartOnly=true # Create directory for PID (if needed) and set ownership ExecStartPre=/bin/mkdir -p /run/mediagoblin ExecStartPre=/bin/chown -hR mediagoblin:mediagoblin /run/mediagoblin # Celery process will run as the `mediagoblin` user after start. - Environment=MEDIAGOBLIN_CONFIG=/srv/mediagoblin.example.org/mediagoblin/mediagoblin_local.ini \ + Environment=MEDIAGOBLIN_CONFIG=/srv/mediagoblin.example.org/mediagoblin/mediagoblin.ini \ CELERY_CONFIG_MODULE=mediagoblin.init.celery.from_celery ExecStart=/srv/mediagoblin.example.org/mediagoblin/bin/celery worker \ --logfile=/var/log/mediagoblin/celery.log \ @@ -153,7 +156,7 @@ processes again. Use an init script ------------------ -If your system does not use systemd, you can use the following command as the +If your system does not use Systemd, you can use the following command as the basis for an init script: .. code-block:: bash @@ -241,7 +244,7 @@ To launch Celery separately from the MediaGoblin WSGI application: CELERY_CONFIG_MODULE=mediagoblin.init.celery.from_celery ./bin/celeryd -If you use our example systemd ``service files``, Celery will be set to the +If you use our example Systemd ``service files``, Celery will be set to the "CELERY_ALWAYS_EAGER=false" value by default. This will provide your users with the best user experience, as all media processing will be done in the background. diff --git a/docs/source/siteadmin/relnotes.rst b/docs/source/siteadmin/relnotes.rst index 584fd8c3..1c15f249 100644 --- a/docs/source/siteadmin/relnotes.rst +++ b/docs/source/siteadmin/relnotes.rst @@ -27,7 +27,7 @@ carefully, or at least skim over it. running migrations! That way if something goes wrong, we can fix things! - And be sure to shut down your current mediagoblin/celery processes + And be sure to shut down your current MediaGoblin/Celery processes before upgrading! .. note:: @@ -36,7 +36,7 @@ carefully, or at least skim over it. gitorious.org shut down, we had to move. We are presently on Savannah. You may need to update your git repository location:: - git remote set-url origin git://git.savannah.gnu.org/mediagoblin.git + git remote set-url origin https://git.savannah.gnu.org/git/mediagoblin.git 0.9.0 @@ -49,7 +49,7 @@ Python 3, which is pretty cool! **Do this to upgrade** 0. If you haven't already, switch the git remote URL: - ``git remote set-url origin git://git.savannah.gnu.org/mediagoblin.git`` + ``git remote set-url origin https://git.savannah.gnu.org/git/mediagoblin.git`` 1. Update to the latest release. If checked out from git, run: ``git fetch && git checkout -q v0.9.0`` 2. Run @@ -89,7 +89,7 @@ soon as possible. **Do this to upgrade** 0. If you haven't already, switch the git remote URL: - ``git remote set-url origin git://git.savannah.gnu.org/mediagoblin.git`` + ``git remote set-url origin https://git.savannah.gnu.org/git/mediagoblin.git`` 1. Update to the latest release. If checked out from git, run: ``git fetch && git checkout -q v0.8.1`` 2. Run @@ -143,7 +143,7 @@ trouble, consider pinging the MediaGoblin list or IRC channel. **Do this to upgrade** 0. If you haven't already, switch the git remote URL: - ``git remote set-url origin git://git.savannah.gnu.org/mediagoblin.git`` + ``git remote set-url origin https://git.savannah.gnu.org/git/mediagoblin.git`` 1. If you don't have node.js installed, you'll need it for handling MediaGoblin's static web dependencies. Install this via your distribution! (In the glorious future MediaGoblin will be simply @@ -162,11 +162,11 @@ prior upgrade guides! Additionally: - Are you using audio or video media types? In that case, you'll need - to update your Gstreamer instance to 1.0. + to update your GStreamer instance to 1.0. - The Pump API needs some data passed through to the WSGI application, - so if you are using apache with mod_wsgi you should be sure to make + so if you are using Apache with mod_wsgi you should be sure to make sure to add "WSGIPassAuthorization On" to your config. (Using the - default MediaGoblin documnetation and config, things should work + default MediaGoblin documentation and config, things should work as-is.) @@ -181,12 +181,12 @@ Additionally: - Clearer documentation on permissions and installation - Switched from Transifex, which had become proprietary, to an instance of Pootle hosted for GNU -- Moved to Gstreamer 1.0! This also adds a new thumbnailer which +- Moved to GStreamer 1.0! This also adds a new thumbnailer which gives much better results in -- Removed terrible check-javascript-dependencies-into-your-application +- Removed terrible check-JavaScript-dependencies-into-your-application setup, now using Bower for dependency tracking - Put some scaffolding in place for Alembic, which will be used for - future mitration work + future migration work - Automatically create a fresh mediagoblin.ini from mediagoblin.ini.example - no more need for mediagoblin_local.ini (though it's still supported) @@ -199,7 +199,7 @@ Additionally: This is a purely bugfix release. Important changes happened since 0.7.0; if running MediaGoblin 0.7.0, an upgrade is highly recommended; see below. This release is especially useful if you have been running -postgres and have been receiving seemingly random database transaction +PostgreSQL and have been receiving seemingly random database transaction errors. **Do this to upgrade** @@ -220,9 +220,9 @@ That's it, probably! If you run into problems, don't hesitate to database transaction issues. (These should be back by 0.8.0.) + Disabled the "checking if the database is up to date at - mediagoblin startup" feature + MediaGoblin startup" feature + Disabled the garbage collection stuff by default for now - (You can set garbage_collection under the config mediagoblin + (You can set garbage_collection under the config MediaGoblin header to something other than 0 to turn it back on for now, but it's potentially risky for the moment.) @@ -231,7 +231,7 @@ That's it, probably! If you run into problems, don't hesitate to - Added support for cr2 files in raw_image media type - Added a description to setup.py - Collection and CollectionItem objects now have nicer in-python representations -- Fixed unicode error with raw image mediatype logging +- Fixed Unicode error with raw image mediatype logging - Fixed #945 "Host metadata does not confirm to spec (/.well-known/meta-data)" + Add XRD+XML formatting for /.well-known/host-meta @@ -268,7 +268,7 @@ That's it, probably! If you run into problems, don't hesitate to (which will be the foundation for MediaGoblin's federation) - New theme: Sandy 70s Speedboat! -- Metadata features! We also now have a json-ld context. +- Metadata features! We also now have a JSON-LD context. - Many improvements for archival institutions, including metadata support and featuring items on the homepage. With the (new!) @@ -283,7 +283,7 @@ That's it, probably! If you run into problems, don't hesitate to uploading many files at once. This is aimed to be useful for archival institutions and groups where there is an already existing and large set of available media that needs to be included. -- Speaking of, the call to postgres in the makefile is fixed. +- Speaking of, the call to PostgreSQL in the makefile is fixed. - We have a new, generic media-page context hook that allows for adding context depending on the type of media. - Tired of video thumbnails breaking during processing all the time? @@ -310,10 +310,10 @@ That's it, probably! If you run into problems, don't hesitate to data. It's basically the same thing as before, but packaged separately from MediaGoblin. - Many improvements to internationalization. Also (still rudimentary, - but existant!) RTL language support! + but existent!) RTL language support! **Known issues:** - - The host-meta is now json by default; in the spec it should be xml by + - The host-meta is now JSON by default; in the spec it should be XML by default. We have done this because of compatibility with the pump API. We are checking with upstream to see if there is a way to resolve this discrepancy. @@ -360,7 +360,7 @@ nickname "Lore of the Admin"! - New tools to control how much users can upload, both as a general user limit, or per file. - You can set this with the following options in your mediagoblin + You can set this with the following options in your MediaGoblin config file: `upload_limit` and `max_file_size`. Both are integers in megabytes. @@ -368,7 +368,7 @@ nickname "Lore of the Admin"! upload too, though an interface for this is not yet exposed. See the "uploaded" field on the core__users table. -- MediaGoblin now contains an authentication plugin for ldap! You +- MediaGoblin now contains an authentication plugin for LDAP! You can turn on the mediagoblin.plugins.ldap plugin to make use of this. See the documentation: :ref:`ldap-plugin` @@ -423,8 +423,8 @@ v0.5.1 is a bugfix release... the steps are the same as for 0.5.1. ===== **NOTE:** If using the API is important to you, we're in a state of -ransition towards a new API via the Pump API. As such, though the old -API still probably works, some changes have happened to the way oauth +transition towards a new API via the Pump API. As such, though the old +API still probably works, some changes have happened to the way OAuth works to make it more Pump-compatible. If you're heavily using clients using the old API, you may wish to hold off on upgrading for now. Otherwise, jump in and have fun! :) @@ -469,21 +469,21 @@ If you run into problems, don't hesitate to * Comment preview! * Users now have the ability to change their email associated with their account. -* New oauth code as we move closer to federation support. -* Experimental pyconfigure support for GNU-style configue and makefile +* New OAuth code as we move closer to federation support. +* Experimental pyconfigure support for GNU-style configure and makefile deployment. * Database foundations! You can now pre-populate the database models. * Way faster unit test run-time via in-memory database. * All mongokit stuff has been cleaned up. -* Fixes for non-ascii filenames. +* Fixes for non-ASCII filenames. * The option to stay logged in. -* Mediagoblin has been upgraded to use the latest `celery <http://celeryproject.org/>`_ +* MediaGoblin has been upgraded to use the latest `Celery <http://celeryproject.org/>`_ version. * You can now add jinja2 extensions to your config file to use in custom templates. * Fixed video permission issues. -* Mediagoblin docs are now hosted with multiple versions. -* We removed redundent tooltips from the STL media display. +* MediaGoblin docs are now hosted with multiple versions. +* We removed redundant tooltips from the STL media display. * We are now using itsdangerous for verification tokens. @@ -495,7 +495,7 @@ fix in the newly released document support which prevented the "conversion via libreoffice" feature. If you were running 0.4.0 you can upgrade to v0.4.1 via a simple -switch and restarting mediagoblin/celery with no other actions. +switch and restarting MediaGoblin/Celery with no other actions. Otherwise, follow 0.4.0 instructions. @@ -514,7 +514,7 @@ Otherwise, follow 0.4.0 instructions. Keep on reading to hear more about new plugin features. 4. If you want to take advantage of new plugins that have statically served assets, you are going to need to add the new "plugin_static" - section to your nginx config. Basically the following for nginx:: + section to your Nginx config. Basically the following for Nginx:: # Plugin static files (usually symlinked in) location /plugin_static/ { @@ -557,7 +557,7 @@ please note the following: date of an image when available (available as the "original_date_visible" variable) * Moved unit testing system from nosetests to py.test so we can better - handle issues with sqlalchemy exploding with different database + handle issues with SQLAlchemy exploding with different database configurations. Long story :) * You can now disable the ability to post comments. * Tags now can be up to length 255 characters by default. @@ -587,7 +587,7 @@ you run into problems, don't hesitate to * New dropdown menu for accessing various features. -* Significantly improved URL generation. Now mediagoblin won't give +* Significantly improved URL generation. Now MediaGoblin won't give up on making a slug if it looks like there will be a duplicate; it'll try extra hard to generate a meaningful one instead. @@ -595,13 +595,13 @@ you run into problems, don't hesitate to linking to a slug; /u/username/m/id:35/ is the kind of reference we now use to linking to entries with ids. However, old links with entries that linked to ids should work just fine with our migration. - The only urls that might break in this release are ones using colons + The only URLs that might break in this release are ones using colons or equal signs. * New template hooks for plugin authoring. * As a demonstration of new template hooks for plugin authoring, - openstreetmap support now moved to a plugin! + OpenStreetMap support now moved to a plugin! * Method to add media to collections switched from icon of paperclip to button with "add to collection" text. @@ -612,9 +612,9 @@ you run into problems, don't hesitate to waste gobs of memory. * Video transcoding now optional for videos that meet certain - criteria. By default, MediaGoblin will not transcode webm videos + criteria. By default, MediaGoblin will not transcode WebM videos that are smaller in resolution than the MediaGoblin defaults, and - MediaGoblin can also be configured to allow theora files to not be + MediaGoblin can also be configured to allow Theora files to not be transcoded as well. * Per-user license preference option; always want your uploads to be @@ -644,7 +644,7 @@ MongoDB-based MediaGoblin instance to the newer SQL-based system. **Do this to upgrade** - # directory of your mediagoblin install + # directory of your MediaGoblin install cd /srv/mediagoblin.example.org # copy source for this release @@ -664,13 +664,13 @@ MongoDB-based MediaGoblin instance to the newer SQL-based system. * **3d model support!** You can now upload STL and OBJ files and display them in - MediaGoblin. Requires a recent-ish Blender; for details see: + MediaGoblin. Requires a recent Blender; for details see: :ref:`deploying-chapter` * **trim_whitespace** We bundle the optional plugin trim_whitespace which reduces the size - of the delivered html output by reducing redundant whitespace. + of the delivered HTML output by reducing redundant whitespace. See :ref:`core-plugin-section` for plugin documentation @@ -684,7 +684,7 @@ MongoDB-based MediaGoblin instance to the newer SQL-based system. and `OMGMG <https://github.com/jwandborg/omgmg>`_, an example of a web application hooking up to the API. - This is a plugin, so you have to enable it in your mediagoblin + This is a plugin, so you have to enable it in your MediaGoblin config file by adding a section under [plugins] like:: [plugins] @@ -697,7 +697,7 @@ MongoDB-based MediaGoblin instance to the newer SQL-based system. For applications that use OAuth to connect to the API. - This is a plugin, so you have to enable it in your mediagoblin + This is a plugin, so you have to enable it in your MediaGoblin config file by adding a section under [plugins] like:: [plugins] @@ -717,7 +717,7 @@ MongoDB-based MediaGoblin instance to the newer SQL-based system. Geolocation is also now on by default. -* **Miscelaneous visual improvements** +* **Miscellaneous visual improvements** We've made a number of small visual improvements including newer and nicer looking thumbnails and improved checkbox placement. @@ -732,7 +732,7 @@ MongoDB-based MediaGoblin instance to the newer SQL-based system. 1. Make sure to run ``bin/gmg dbuptdate`` after upgrading. 2. If you set up your server config with an older version of - mediagoblin and the mediagoblin docs, it's possible you don't + MediaGoblin and the MediaGoblin docs, it's possible you don't have the "theme static files" alias, so double check to make sure that section is there if you are having problems. diff --git a/docs/source/siteadmin/theming.rst b/docs/source/siteadmin/theming.rst index 11ae3875..24f23235 100644 --- a/docs/source/siteadmin/theming.rst +++ b/docs/source/siteadmin/theming.rst @@ -43,7 +43,7 @@ want to install this theme! Don't worry, it's fairly painless. 3. ``tar -xzvf <tar-archive>`` 4. Open your configuration file (probably named - ``mediagoblin_local.ini``) and set the theme name:: + ``mediagoblin.ini``) and set the theme name:: [mediagoblin] # ... @@ -73,9 +73,9 @@ want to install this theme! Don't worry, it's fairly painless. Set up your webserver to serve theme assets ------------------------------------------- -If you followed the nginx setup example in :ref:`webserver-config` you +If you followed the Nginx setup example in :ref:`webserver-config` you should already have theme asset setup. However, if you set up your -server config with an older version of mediagoblin and the mediagoblin +server config with an older version of MediaGoblin and the MediaGoblin docs, it's possible you don't have the "theme static files" alias, so double check to make sure that section is there if you are having problems. @@ -103,7 +103,7 @@ Other variables you may consider setting: `theme_web_path` When theme-specific assets are specified, this is where MediaGoblin - will set the urls. By default this is ``"/theme_static/"`` so in + will set the URLs. By default this is ``"/theme_static/"`` so in the case that your theme was trying to access its file ``"images/shiny_button.png"`` MediaGoblin would link to ``/theme_static/images/shiny_button.png``. @@ -136,7 +136,7 @@ if necessary):: | | |- im_a_hedgehog.png # hedgehog-containing image used by theme | | '- custom_logo.png # your theme's custom logo | '- css/ - | '- hedgehog.css # your site's hedgehog-specific css + | '- hedgehog.css # your site's hedgehog-specific CSS |- README.txt # Optionally, a readme file (not required) |- AGPLv3.txt # AGPL license file for your theme. (good practice) '- CC0_1.0.txt # CC0 1.0 legalcode for the assets [if appropriate!] @@ -164,7 +164,7 @@ Only a few things need to go in here:: [theme] name = Hedgehog-ification description = For hedgehog lovers ONLY - licensing = AGPLv3 or later templates; assets (images/css) waived under CC0 1.0 + licensing = AGPLv3 or later templates; assets (images/CSS) waived under CC0 1.0 The name and description fields here are to give users an idea of what your theme is about. For the moment, we don't have any listing @@ -232,7 +232,7 @@ You should include AGPLv3.txt with your theme as this is required for the assets. You can copy this from ``mediagoblin/licenses/``. In the above example, we also use CC0 to waive our copyrights to -images and css, so we also included CC0_1.0.txt +images and CSS, so we also included CC0_1.0.txt A README.txt file @@ -247,7 +247,7 @@ Simple theming by adding CSS ---------------------------- Many themes won't require anything other than the ability to override -some of MediaGoblin's core css. Thankfully, doing so is easy if you +some of MediaGoblin's core CSS. Thankfully, doing so is easy if you combine the above steps! In your theme, do the following (make sure you make the necessary @@ -260,7 +260,7 @@ Great, now open that file and add something like this at the end:: <link rel="stylesheet" type="text/css" href="{{ request.staticdirect('/css/theme.css', 'theme') }}"/> -You can name the css file whatever you like. Now make the directory +You can name the CSS file whatever you like. Now make the directory for ``assets/css/`` and add the file ``assets/css/theme.css``. You can now put custom CSS files in here and any CSS you add will |