.. _admin-tricks: One-time Admin Tasks -------------------- * :ref:`web-analytics` * :ref:`admin-tricks-license` * :ref:`announcements` * :ref:`md-rst` * :ref:`repo-stats` * :ref:`server-side-merge` * :ref:`remap-rescan` * :ref:`custom-hooks` * :ref:`clear-repo-cache` * :ref:`set-repo-pub` * :ref:`ping` .. _web-analytics: Adding Web Analytics ^^^^^^^^^^^^^^^^^^^^ If you wish to add a Google Analytics, or any other kind of tracker to your |RCE| instance you can add the necessary codes to the header or footer section of each instance using the following steps: 1. From the |RCE| interface, select :menuselection:`Admin --> Settings --> Global` 2. To add a tracking code to you instance, enter it in the header or footer section and select **Save** Use the example templates in the drop-down menu to set up your configuration. .. _admin-tricks-license: Licence Key Management ^^^^^^^^^^^^^^^^^^^^^^ To manage your license key, go to :menuselection:`Admin --> Settings --> License`. On this page you can see the license key details. If you need a new license, or have questions about your current one, contact support@rhodecode.com .. _announcements: Server-wide Announcements ^^^^^^^^^^^^^^^^^^^^^^^^^ If you need to make a server-wide announcement to all users, you can add a message to be displayed using the following steps: 1. From the |RCE| interface, select :menuselection:`Admin --> Settings --> Global` 2. To add a message that will be displayed to all users, select :guilabel:`Server Announcement` from the drop-down menu and change the ``var message = "TYPE YOUR MESSAGE HERE";`` example line. 3. Select :guilabel:`Save`, and you will see the message once your page refreshes. .. image:: ../../images/server-wide-announcement.png :alt: Server Wide Announcement .. _md-rst: Suppress license warnings or errors ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ In case you're running on maximum allowed users, RhodeCode will display a warning message on pages that you're close to the license limits. It's often not desired to show that all the time. Here's how you can suppress the license messages. 1. From the |RCE| interface, select :menuselection:`Admin --> Settings --> Global` 2. Select :guilabel:`Flash message filtering` from the drop-down menu. 3. Select :guilabel:`Save`, and you will no longer see the license message once your page refreshes. .. _admin-tricks-suppress-license-messages: Markdown or RST Rendering ^^^^^^^^^^^^^^^^^^^^^^^^^ |RCE| can use `Markdown`_ or `reStructured Text`_ in commit message, code review messages, and inline comments. To set the default to either, select your preference from the drop-down menu on the :menuselection:`Admin --> Settings --> Visual` page and select :guilabel:`Save settings`. .. _repo-stats: Enabling Repository Statistics ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To enable |repo| statistics, use the following steps: 1. From the |RCE| interface, open :menuselection:`Admin --> Repositories` and select :guilabel:`Edit` beside the |repo| for which you wish to enable statistics. 2. Check the :guilabel:`Enable statistics` box, and select :guilabel:`Save` .. _server-side-merge: Enabling Server-side Merging ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To enable server-side merging, use the following steps: 1. From the |RCE| interface, open :menuselection:`Admin --> Settings --> VCS` 2. Check the :guilabel:`Server-side merge` box, and select :guilabel:`Save Settings` If you encounter slow performance with server-side merging enabled, check the speed at which your server is performing actions. When server-side merging is enabled, the following actions occurs on the server. * A |pr| is created in the database. * A shadow |repo| is created as a working environment for the |pr|. * On display, |RCE| checks if the |pr| can be merged. To check how fast the shadow |repo| creation is occurring on your server, use the following steps: 1. Log into your server and create a directory in your |repos| folder. 2. Clone a |repo| that is showing slow performance and time the action. .. code-block:: bash # One option is to use the time command $ time hg clone SOURCE_REPO TARGET .. _remap-rescan: Remap and Rescan Repositories ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ You may want to Remap and rescan the |repos| that |RCE| is managing to ensure the system is always up-to-date. This is useful after importing, deleting, or carrying out general cleaning up operations. To do this use the following steps: 1. From the |RCE|, open :menuselection:`Admin --> Settings --> Remap and rescan` 2. Click :guilabel:`Rescan Repositories` Check the additional options if needed: * :guilabel:`Destroy old data`: Useful for purging deleted repository information from the database. * :guilabel:`Invalidate cache for all repositories`: Use this to completely remap all |repos|. Useful when importing or migrating |repos| to ensure all new information is picked up. .. _custom-hooks: Adding Custom Hooks ^^^^^^^^^^^^^^^^^^^ To add custom hooks to your instance, use the following steps: 1. Open :menuselection:`Admin --> Settings --> Hooks` 2. Add your custom hook details, you can use a file path to specify custom hook scripts, for example: ``pretxnchangegroup.example`` with value ``python:/path/to/custom_hook.py:my_func_name`` 3. Select :guilabel:`Save` Also, see the RhodeCode Extensions section of the :ref:`rc-tools` guide. RhodeCode Extensions can be used to add additional hooks to your instance and comes with a number of pre-built plugins if you chose to install them. .. _clear-repo-cache: Clearing |repo| cache ^^^^^^^^^^^^^^^^^^^^^ If you need to clear the cache for a particular |repo|, use the following steps: 1. Open :menuselection:`Admin --> Repositories` and select :guilabel:`Edit` beside the |repo| whose cache you wish to clear. 2. On the |repo| settings page, go to the :guilabel:`Caches` tab and select :guilabel:`Invalidate repository cache`. .. _set-lang: Changing Default Language ^^^^^^^^^^^^^^^^^^^^^^^^^ To change the default language of a |RCE| instance, change the language code in the :file:`/home/{user}/.rccontrol/{instance-id}/rhodecode.ini` file. To do this, use the following steps. 1. Open the :file:`rhodecode.ini` file and set the required language code. .. code-block:: ini ## Optional Languages ## en(default), de, fr, it, ja, pl, pt, ru, zh lang = de 2. Restart the |RCE| instance and check that the language has been updated. .. code-block:: bash $ rccontrol restart enterprise-2 Instance "enterprise-2" successfully stopped. Instance "enterprise-2" successfully started. .. image:: ../../images/language.png .. _set-repo-pub: Setting Repositories to Publish ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To automatically promote your local |repos| to public after pushing to |RCE|, enable the :guilabel:`Set repositories as publishing` option on the :menuselection:`Admin --> Settings --> VCS` page. .. note:: This option is enabled by default on most |RCE| versions, but if upgrading from a 1.7.x version it could be disabled on upgrade due to inheriting older default settings. .. _ping: Pinging the |RCE| Server ^^^^^^^^^^^^^^^^^^^^^^^^ You can check the IP Address of your |RCE| instance using the following URL: ``{instance-URL}/_admin/ping``. .. code-block:: bash $ curl https://your.rhodecode.url/_admin/ping pong[rce-7880] => 203.0.113.23 .. _Markdown: http://daringfireball.net/projects/markdown/ .. _reStructured Text: http://docutils.sourceforge.io/docs/index.html Unarchiving a repository ^^^^^^^^^^^^^^^^^^^^^^^^^ Archive operation for the repository is similar as delete. Archive keeps the data for future references but makes the repository read-only. After archiving the repository it shouldn't be modified in any way. This is why repository settings are disabled for an archived repository. If there's a need for unarchiving a repository for some reasons, the interactive ishell interface should be used. .. code-block:: bash # Open iShell from the terminal $ rccontrol ishell enterprise-1/community-1 .. code-block:: python # Set repository as un-archived In [1]: repo = Repository.get_by_repo_name('SOME_REPO_NAME') In [2]: repo.archived = False In [3]: Session().add(repo);Session().commit()