-
Star
(313)
You must be signed in to star a gist -
Fork
(139)
You must be signed in to fork a gist
-
-
Save markasoftware/f5b2e55a2c2e3abb1f9eefcdf0bfff45 to your computer and use it in GitHub Desktop.
############ If you are using DOCKER all-in-one image, create Dockerfile like: ################ | |
############ FROM openproject/openproject:16 ################ | |
############ COPY ./enterprise_token.rb app/models/enterprise_token.rb ################ | |
############ If you are runing a manual installation: ################ | |
############ REPLACE app/models/enterprise_token.rb in the source code with this file! ################ | |
############ also be sure to RESTART OpenProject after replacing the file. ################ | |
############ If using some other set up (eg docker-compose), read the comments on ################ | |
############ https://gist.github.com/markasoftware/f5b2e55a2c2e3abb1f9eefcdf0bfff45 ################ | |
# OpenProject is an open source project management software. | |
# Copyright (C) the OpenProject GmbH | |
# | |
# This program is free software; you can redistribute it and/or | |
# modify it under the terms of the GNU General Public License version 3. | |
# | |
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: | |
# Copyright (C) 2006-2013 Jean-Philippe Lang | |
# Copyright (C) 2010-2013 the ChiliProject Team | |
# | |
# This program is free software; you can redistribute it and/or | |
# modify it under the terms of the GNU General Public License | |
# as published by the Free Software Foundation; either version 2 | |
# of the License, or (at your option) any later version. | |
# | |
# This program is distributed in the hope that it will be useful, | |
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
# GNU General Public License for more details. | |
# | |
# You should have received a copy of the GNU General Public License | |
# along with this program; if not, write to the Free Software | |
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |
# | |
# See COPYRIGHT and LICENSE files for more details. | |
#++ | |
class EnterpriseToken < ApplicationRecord | |
class << self | |
def current | |
self.new | |
end | |
def allows_to?(feature) | |
true | |
end | |
def active? | |
true | |
end | |
def hide_banners? | |
true | |
end | |
def show_banners? | |
false | |
end | |
def banner_type_for(feature:) | |
nil | |
end | |
end | |
def token_object | |
Class.new do | |
def has_feature?(feature) | |
true | |
end | |
def will_expire? | |
false | |
end | |
def mail | |
"[email protected]" | |
end | |
def subscriber | |
"markasoftware-free-enterprise-mode" | |
end | |
def company | |
"markasoftware" | |
end | |
def domain | |
"markasoftware.com" | |
end | |
def issued_at | |
Time.zone.today - 1 | |
end | |
def starts_at | |
Time.zone.today - 1 | |
end | |
def expires_at | |
Time.zone.today + 1 | |
end | |
def reprieve_days | |
nil | |
end | |
def reprieve_days_left | |
69 | |
end | |
def restrictions | |
nil | |
end | |
def available_features | |
[] | |
end | |
def plan | |
"markasoftware_free_enterprise_mode" | |
end | |
def features | |
[] | |
end | |
def version | |
69 | |
end | |
end.new | |
end | |
def will_expire? | |
false | |
end | |
def mail | |
"[email protected]" | |
end | |
def subscriber | |
"markasoftware-free-enterprise-mode" | |
end | |
def company | |
"markasoftware" | |
end | |
def domain | |
"markasoftware.com" | |
end | |
def issued_at | |
Time.zone.today - 1 | |
end | |
def starts_at | |
Time.zone.today - 1 | |
end | |
def expires_at | |
Time.zone.today + 1 | |
end | |
def reprieve_days | |
nil | |
end | |
def reprieve_days_left | |
69 | |
end | |
def restrictions | |
nil | |
end | |
def available_features | |
[] | |
end | |
def plan | |
"markasoftware_free_enterprise_mode" | |
end | |
def features | |
[] | |
end | |
def version | |
69 | |
end | |
def allows_to?(action) | |
true | |
end | |
def expired?(reprieve: true) | |
false | |
end | |
def invalid_domain? | |
false | |
end | |
end |
i agree, for exemple i'm stuck with the upgrade to new version, each time i try it following their docs i get the same error with ruby on rails about data base migration error
Hi guys,
how to do this for an openproject that's not installed with docker ? meaning installed directly on centos machinejust replace the file directly
yes just cut copy and paste
Openprojects GitHub Management as well as their support is a disaster. Didnt manage to update my database yet and nobody reacts to anything if you don't REALLY annoy people directly as I did about https://gist.github.com/markasoftware/f5b2e55a2c2e3abb1f9eefcdf0bfff45?permalink_comment_id=5591479#gistcomment-5591479
Support is complimentary ,they will reply at will
i agree, for exemple i'm stuck with the upgrade to new version, each time i try it following their docs i get the same error with ruby on rails about data base migration error
Yes I gave up on that as well. But I just did a backup via in-App function (Backup Token), got a new docker stack running with Postgres 17 and Openproject 16 and restored the database. Not the smoothest experience because it didnt quite work as documented (surprise!) but managable (thank you, ChatGPT). Everything has been restored including all settings, custom types- everything. I am very happy with this solution and the whole upgrade path as documented seems completely unecessary to me now.
They made some changes for the All-In-One solution (opf/openproject#19011 (comment), opf/openproject#19210).
And I tried to get the other changes merged for the docker-compose one last time (opf/openproject#19011 (comment)).
If interests anyone, upgrade from 15 to 16 was seamless while using Helm Chart and this gist file works as expected
If interests anyone, upgrade from 15 to 16 was seamless while using Helm Chart and this gist file works as expected
But you don't get the features of the tier Enterpise Professional? Only Enterprise Basic?
If interests anyone, upgrade from 15 to 16 was seamless while using Helm Chart and this gist file works as expected
But you don't get the features of the tier Enterpise Professional? Only Enterprise Basic?
Yes those features are working too, my config:
For helm installations
- Add configmap with this file content in it:
apiVersion: v1 kind: ConfigMap metadata: name: enterprise-token-config namespace: openproject data: enterprise_token.rb: | <file content here>
- Add helm values:
extraVolumes: - name: enterprise-token-volume configMap: name: enterprise-token-config extraVolumeMounts: - name: enterprise-token-volume mountPath: /app/app/models/enterprise_token.rb subPath: enterprise_token.rb readOnly: true
@JokerGermany my understanding was the above code will give full functional rights ,Is that not your understanding
@scalenow
https://www.openproject.org/docs/release-notes/16-0-0/#important-updates
The Enterprise plans (Basic, Professional, Premium, and Corporate) have been updated. Each plan now includes a specific set of Enterprise add-ons. Support levels and pricing remain unchanged with version 16.0.
Current Enterprise customers retain their existing plans with access to all Enterprise add-ons available at that time. No features are removed. > From this version onward, new Enterprise add-ons may be included only in higher-tier plans. For example, the new Internal comments feature is part of the Professional plan.
@JokerGermany as far as I know, this gist enables all features. Please install and test for yourself.
@JokerGermany @markasoftware I confirm that all enterprise add-ons functions are available. Checked in the latest version 16.1.0.
@positiveque thanks
@positiveque Is working on docker?
@positiveque Is working on docker?
Yes, sure. I use it in docker-compose.yml like this:
volumes:
- "/docker/openproject/enterprise/enterprise_token.rb:/app/app/models/enterprise_token.rb"
@positiveque with version openproject-dev?
@positiveque with version openproject-dev?
I use image for production "openproject/openproject:16-slim" and don't know about openproject-dev.
Its not working on the 16.1.1
Its not working on the 16.1.1
I just checked and it works on the 16.1.1. Can you give more details?
Anyone tried on OpenProject 16.1.1?
Every enterprise features is working but baseline comparison in work packages? any idea?
Like the options are available but not working...
Hey @positiveque , thanks for your support. It was my mistake, I had upgraded OpenProject from version 15 to 16 and tried using the token, but it didn’t work. I was also running PostgreSQL 13 at the time. I’ve now done a fresh setup, and everything is working fine.
Work before 16.2
, in version 16.2
error occurred!
good open source knows how to protect itself :) all the best to openproject. hit me up if u want a free trial ;)
They seem to have added quite a bit of methods to the token class..
Give it some time. And a fix will be made ;)
Yes, I'm sure of that. Gonna take a stab at it myself. Shouldn't be too difficult to mock the added functions. :)
yep they added some new methods, will look into it soon.
Cannot open the token page in UI, but that's fine. :D
Let me just leave this here:
class EnterpriseToken < ApplicationRecord
class << self
def current
self.new
end
def allows_to?(feature)
true
end
def active?
true
end
def hide_banners?
true
end
def show_banners?
false
end
def banner_type_for(feature:)
nil
end
def all_tokens
[new]
end
def active_tokens
[new]
end
def active_non_trial_tokens
[new]
end
def active_trial_token
nil
end
def table_exists?
true
end
def trial_only?
false
end
def available_features
[:all_features]
end
def non_trialling_features
[:all_features]
end
def trialling_features
[]
end
def trialling?(feature)
false
end
def user_limit
nil
end
def set_active_tokens
[new]
end
def clear_current_tokens_cache
true
end
end
def token_object
@token_object ||= Class.new do
def has_feature?(feature)
true
end
def will_expire?
false
end
def mail
"[email protected]"
end
def subscriber
"markasoftware-free-enterprise-mode"
end
def company
"markasoftware"
end
def domain
"markasoftware.com"
end
def issued_at
Time.zone.today - 1
end
def starts_at
Time.zone.today - 1
end
def expires_at
Time.zone.today + 1
end
def reprieve_days
nil
end
def reprieve_days_left
69
end
def restrictions
nil
end
def available_features
[:all_features]
end
def plan
"markasoftware_free_enterprise_mode"
end
def features
[:all_features]
end
def version
70
end
def started?
true
end
def trial?
false
end
def active?(reprieve: true)
true
end
def expired?(reprieve: true)
false
end
def validate_domain?
false
end
def valid_domain?(hostname)
true
end
end.new
end
def will_expire?
false
end
def mail
"[email protected]"
end
def subscriber
"markasoftware-free-enterprise-mode"
end
def company
"markasoftware"
end
def domain
"markasoftware.com"
end
def issued_at
Time.zone.today - 1
end
def starts_at
Time.zone.today - 1
end
def expires_at
Time.zone.today + 1
end
def reprieve_days
nil
end
def reprieve_days_left
69
end
def restrictions
nil
end
def available_features
[:all_features]
end
def plan
"markasoftware_free_enterprise_mode"
end
def features
[:all_features]
end
def version
70
end
def allows_to?(action)
true
end
def expired?(reprieve: true)
false
end
def invalid_domain?
false
end
# Missing instance methods from original
def expiring_soon?
false
end
def in_grace_period?
false
end
def statuses
[]
end
def unlimited_users?
true
end
def max_active_users
nil
end
def sort_key
[Time.zone.today + 1000.years, Time.zone.today - 1]
end
def days_left
365000 # A very large number
end
def started?
true
end
def trial?
false
end
def active?
true
end
def clear_current_tokens_cache
true
end
end
It's 10/10 hilarious to me that you incremented the version number @samip5 .
"one better than 69"
Openprojects GitHub Management as well as their support is a disaster. Didnt manage to update my database yet and nobody reacts to anything if you don't REALLY annoy people directly as I did about https://gist.github.com/markasoftware/f5b2e55a2c2e3abb1f9eefcdf0bfff45?permalink_comment_id=5591479#gistcomment-5591479