1. 21 Nov, 2018 2 commits
  2. 16 Nov, 2018 1 commit
    • dgt's avatar
      Prepare for utf8mb4: shrink size of indexed fields · 4e3e8bb1
      dgt authored
      to make database indexes fit after conversion to full utf8, the db forces
      us to shrink the size of the varchar fields which are part of those indexes.
      before doing so, we had to make sure that the content in this fields does not
      exceed 191 characters. we used a rake task to shrink long legacy tags.
      4e3e8bb1
  3. 13 Nov, 2018 1 commit
  4. 10 Nov, 2018 1 commit
  5. 11 Oct, 2018 1 commit
    • dgt's avatar
      Remove event pages code · 9d0288ce
      dgt authored
      events have not been used for a long time.
      this commit removes everything besides the icons
      9d0288ce
  6. 15 May, 2018 1 commit
  7. 26 Apr, 2018 1 commit
    • dgt's avatar
      Remove database tables and colums for tracking · 6c88dfbc
      dgt authored
      remove tables hourlies, dalies, trackings
      remove column views_count from pages and page_terms
      remove views_count from fixtures and a test
      remove views_count from sphinx index
      6c88dfbc
  8. 18 Mar, 2018 1 commit
    • dgt's avatar
      refactor: Remove unused fields from profile · e5ab7437
      dgt authored
      - remove unused name fields and birthday
      - remove legacy permissions which have been replaced
      by castle_gates_keys long ago
      - remove migration test for users and groups
      e5ab7437
  9. 13 Feb, 2018 1 commit
  10. 04 Jan, 2018 1 commit
  11. 02 Jan, 2018 1 commit
    • Cognata's avatar
      Update available languages; · f513d7e6
      Cognata authored
      * Deletes Danish (only 3% coverage)
      * Deletes Chinese (no translation available)
      * Adds Czech
      f513d7e6
  12. 15 Dec, 2017 2 commits
    • azul's avatar
      cleanup: remove User::Setting and group_settings db · 7fef96f8
      azul authored
      We were rewriting the alias_method_chain for setting in user...
      but we are not using settings at all.
      
      Inspecting them in production showed that the only fields that
      differ from defaults are not used anymore:
      ```
      User::Setting.last.attributes.keys.select do |key|
        User::Setting.group(key).count.size > 1
      end
      ["id", "user_id", "show_welcome", "created_at", "updated_at", "preferred_editor"]
      ```
      (this finds all attributes that differ accross instances.)
      
      Neither show_welcome nor preferred_editor are used anymore.
      7fef96f8
    • dgt's avatar
      Updating to rails 4.10 and acts-as-taggable-on 4.0.0 · 38c7ba2c
      dgt authored
      38c7ba2c
  13. 07 Dec, 2017 4 commits
  14. 12 Nov, 2017 1 commit
  15. 10 Nov, 2017 1 commit
  16. 08 Nov, 2017 2 commits
  17. 12 Sep, 2017 1 commit
  18. 04 Feb, 2017 2 commits
  19. 01 Feb, 2017 1 commit
    • azul's avatar
      syncronise db schema with production · aa025755
      azul authored
      I'm not entirely sure why the two are distinct. My guess is that
      migrations were run at different times on different versions of
      rails and mysql.
      
      But no matter what caused this. It's probably best to develop adn
      test with what we currently have in production.
      aa025755
  20. 01 Sep, 2016 10 commits
    • azul's avatar
      cleanup: turn Site into plain ruby class and simplify · b71f3d4c
      azul authored
      We used to allow a LOT of configuration via sites and Conf.
      This developed out of the need to create working instances for
      different interests. Now this is no more the case and we can
      finally drop the associated complexity.
      
      The need to persist site settings in the database is also gone
      since the is no UI for changing them anymore. Instead they can
      now be applied via configuration files only.
      
      While i ripped out a lot of complexity and brittle code i kept
      a basic destinction. Some config settings are accessed via
        Conf
      others in the controllers and views via
        current_site
      
      This will still allow us to customize ui and to some extend
      behaviour based on the domain of a request. It will NOT serve
      however to run two completely different sites on the same install
      though.
      b71f3d4c
    • azul's avatar
      upgrade: acts-as-taggable-on 3.5 · 4f703b2b
      azul authored
      had to modify the migrations it ships by default. Looks like we altered some index names.
      4f703b2b
    • azul's avatar
      update schema.rb · 61cbf6b0
      azul authored
      61cbf6b0
    • azul's avatar
      75a6cbca
    • azul's avatar
      UserGhost -> User::Ghost · 28136e17
      azul authored
      28136e17
    • azul's avatar
      cleanup: remove unused MenuItem model · bd71a4d8
      azul authored
      bd71a4d8
    • azul's avatar
      0f954fd5
    • azul's avatar
      cleanup: unused category model · 1990fd59
      azul authored
      1990fd59
    • azul's avatar
      namespace: asset for all the asset things · 3c9d9525
      azul authored
      Also separate Asset::Storage::Path from Asset::Storage
      3c9d9525
    • azul's avatar
      namespace Activity and remove from autoload_path · 4955ee0a
      azul authored
      We used to have app/models/activity in the autoload path and had classes
      like FriendActivity < Activity
      
      This conflicts with how rails4 handles class lookup. Plus it clutters the
      autoload path and makes it harder to find classes.
      
      Using proper namespaces instead now and I'm about to apply this to all the
      different namespace avoiding things like ...Extension. We can use classes
      as namespaces as long as we:
      * make sure to define things inside the namespace in one line or in a
         class instead of a module block:
         ```ruby
           class Activity::Friend < Activity
           # or
           class Activity
             class Friend < ::Activity
         ```
       * have names inside the namespaces that do not conflict with global names
      
      The second one is important because if PrivatePost is already loaded and
      Activity::PrivatePost is referenced somewhere it will be found as an
      constant inside the Object namespace of Activity (since Activity is a class).
      So instead of loading Activity::PrivatePost we'll see a warning that global
      constant PrivatePost was referenced by Activity::PrivatePost.
      
      So how do we prevent this?
      * do not clutter the global namespace
      * use more specific names in other namespaces
        -> in this case i am renaming PrivatePostActivity to Activity::MessageSent
        and not Activity::PrivatePost
      4955ee0a
  21. 14 Sep, 2015 1 commit
    • azul's avatar
      simplify task_list_page - no more task_lists · 8c36d7f8
      azul authored
      TaskLists used to be an empty table that linked pages and
      their tasks together:
      * page.data -> TaskList
      * task.task_list -> TaskList
      
      This commit removes the TaskLists entirely. Instead tasks
      now belong to the page itself. TaskListPages have no more data
      set.
      
      This cleanup removes an intermediate class we never really used anyway.
      
      In general i plan to move away from relying on the polymorphic page
      belongs_to data. Instead data belongs_to page and only the page types
      it's relevant to have the corresponding has_many associations defined.
      This allows for much more flexibility in attaching data to the page.
      8c36d7f8
  22. 08 Sep, 2015 1 commit
    • azul's avatar
      Use InnoDB for all tables but page_terms · eda74cb2
      azul authored
      InnoDB allows us to perform non blocking backups with transactions.
      
      So we convert all the tables that remained as MyISAM tables to
      InnoDB except page_terms which need the full text search capacities
      that InnoDB only gained with mysql 5.6. (we're still on 5.5).
      
      trackings were actively using "INSERT DELAYED" which also is
      MyISAM specific - but will be removed in this commit as well.
      The mysql docs say:
      
      > Note that INSERT DELAYED is slower than a normal INSERT if the table
      > is not otherwise in use.
      
      So it very much looks like premature optimization.
      
      The other tables just happen to still be MyISAM in production
      eda74cb2
  23. 23 Aug, 2015 1 commit
  24. 10 Aug, 2015 1 commit