talia_core 0.4.1 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION.yml +4 -0
- data/config/database.yml +19 -0
- data/config/database.yml.example +35 -0
- data/config/rdfstore.yml +13 -0
- data/config/rdfstore.yml.example +13 -0
- data/config/rdfstore.yml.rdflite_example +16 -0
- data/config/rdfstore.yml.redland_example +46 -0
- data/config/talia_core.yml +14 -0
- data/config/talia_core.yml.example +42 -0
- data/generators/generator_helpers.rb +49 -0
- data/generators/talia_admin/USAGE +1 -0
- data/generators/talia_admin/talia_admin_generator.rb +19 -0
- data/generators/talia_admin/templates/controllers/admin/background_controller.rb +50 -0
- data/generators/talia_admin/templates/controllers/admin/custom_templates_controller.rb +25 -0
- data/generators/talia_admin/templates/controllers/admin/locales_controller.rb +15 -0
- data/generators/talia_admin/templates/controllers/admin/sources_controller.rb +71 -0
- data/generators/talia_admin/templates/controllers/admin/translations_controller.rb +61 -0
- data/generators/talia_admin/templates/controllers/admin/users_controller.rb +48 -0
- data/generators/talia_admin/templates/controllers/admin_controller.rb +7 -0
- data/generators/talia_admin/templates/helpers/admin/background_helper.rb +60 -0
- data/generators/talia_admin/templates/helpers/admin/custom_templates_helper.rb +5 -0
- data/generators/talia_admin/templates/helpers/admin/locales_helper.rb +2 -0
- data/generators/talia_admin/templates/helpers/admin/sources_helper.rb +65 -0
- data/generators/talia_admin/templates/helpers/admin/translations_helper.rb +51 -0
- data/generators/talia_admin/templates/helpers/admin/users_helper.rb +2 -0
- data/generators/talia_admin/templates/helpers/admin_helper.rb +11 -0
- data/generators/talia_admin/templates/public/images/backend/body_bg.gif +0 -0
- data/generators/talia_admin/templates/public/images/backend/footer_bg.gif +0 -0
- data/generators/talia_admin/templates/public/images/backend/header.jpg +0 -0
- data/generators/talia_admin/templates/public/images/backend/header_bg.gif +0 -0
- data/generators/talia_admin/templates/public/images/backend/menu.jpg +0 -0
- data/generators/talia_admin/templates/public/images/backend/menu_bg.gif +0 -0
- data/generators/talia_admin/templates/public/images/backend/opednid.gif +0 -0
- data/generators/talia_admin/templates/public/images/backend/page_bg.jpg +0 -0
- data/generators/talia_admin/templates/public/images/backend/triangolino.gif +0 -0
- data/generators/talia_admin/templates/public/images/backend/triangolino_full.gif +0 -0
- data/generators/talia_admin/templates/public/javascripts/backend.js +24 -0
- data/generators/talia_admin/templates/public/javascripts/lowpro.js +321 -0
- data/generators/talia_admin/templates/public/stylesheets/backend.css +466 -0
- data/generators/talia_admin/templates/test/fixtures/users.yml +32 -0
- data/generators/talia_admin/templates/test/functional/admin/custom_templates_controller_test.rb +8 -0
- data/generators/talia_admin/templates/test/functional/admin/locales_controller_test.rb +35 -0
- data/generators/talia_admin/templates/test/functional/admin/sources_controller_test.rb +109 -0
- data/generators/talia_admin/templates/test/functional/admin/translations_controller_test.rb +93 -0
- data/generators/talia_admin/templates/test/functional/admin/users_controller_test.rb +67 -0
- data/generators/talia_admin/templates/test/functional/admin_controller_test.rb +15 -0
- data/generators/talia_admin/templates/test/unit/user_test.rb +134 -0
- data/generators/talia_admin/templates/views/admin/background/_finished.html.erb +9 -0
- data/generators/talia_admin/templates/views/admin/background/_pending.html.erb +1 -0
- data/generators/talia_admin/templates/views/admin/background/_progress.html.erb +15 -0
- data/generators/talia_admin/templates/views/admin/background/_running.html.erb +11 -0
- data/generators/talia_admin/templates/views/admin/background/environment.html.erb +12 -0
- data/generators/talia_admin/templates/views/admin/background/show.html.erb +17 -0
- data/generators/talia_admin/templates/views/admin/background/stderr.html.erb +6 -0
- data/generators/talia_admin/templates/views/admin/background/stdin.html.erb +6 -0
- data/generators/talia_admin/templates/views/admin/background/stdout.html.erb +6 -0
- data/generators/talia_admin/templates/views/admin/custom_templates/_content_form_column.rhtml +2 -0
- data/generators/talia_admin/templates/views/admin/custom_templates/_template_type_form_column.rhtml +2 -0
- data/generators/talia_admin/templates/views/admin/index.html.erb +5 -0
- data/generators/talia_admin/templates/views/admin/locales/new.html.erb +9 -0
- data/generators/talia_admin/templates/views/admin/sources/_data.html.erb +6 -0
- data/generators/talia_admin/templates/views/admin/sources/_data_form.html.erb +15 -0
- data/generators/talia_admin/templates/views/admin/sources/_form.html.erb +7 -0
- data/generators/talia_admin/templates/views/admin/sources/_list.html.erb +3 -0
- data/generators/talia_admin/templates/views/admin/sources/_notice.html.erb +1 -0
- data/generators/talia_admin/templates/views/admin/sources/_predicate.html.erb +22 -0
- data/generators/talia_admin/templates/views/admin/sources/_predicates.html.erb +15 -0
- data/generators/talia_admin/templates/views/admin/sources/_sources.html.erb +17 -0
- data/generators/talia_admin/templates/views/admin/sources/_upload.html.erb +6 -0
- data/generators/talia_admin/templates/views/admin/sources/edit.html.erb +6 -0
- data/generators/talia_admin/templates/views/admin/sources/index.html.erb +5 -0
- data/generators/talia_admin/templates/views/admin/translations/_new_translation.html.erb +7 -0
- data/generators/talia_admin/templates/views/admin/translations/_translation.html.erb +10 -0
- data/generators/talia_admin/templates/views/admin/translations/edit.html.erb +16 -0
- data/generators/talia_admin/templates/views/admin/users/_form.html.erb +10 -0
- data/generators/talia_admin/templates/views/admin/users/_form_roles.html.erb +8 -0
- data/generators/talia_admin/templates/views/admin/users/edit.html.erb +12 -0
- data/generators/talia_admin/templates/views/admin/users/index.html.erb +22 -0
- data/generators/talia_admin/templates/views/admin/users/new.html.erb +5 -0
- data/generators/talia_admin/templates/views/admin/users/show.html.erb +6 -0
- data/generators/talia_admin/templates/views/layouts/admin.html.erb +56 -0
- data/generators/talia_base/USAGE +5 -0
- data/generators/talia_base/talia_base_generator.rb +62 -0
- data/generators/talia_base/templates/app/controllers/custom_templates_controller.rb +27 -0
- data/generators/talia_base/templates/app/controllers/ontologies_controller.rb +13 -0
- data/generators/talia_base/templates/app/controllers/sessions_controller.rb +90 -0
- data/generators/talia_base/templates/app/controllers/source_data/show.html.erb +2 -0
- data/generators/talia_base/templates/app/controllers/source_data_controller.rb +43 -0
- data/generators/talia_base/templates/app/controllers/sources_controller.rb +62 -0
- data/generators/talia_base/templates/app/controllers/types_controller.rb +23 -0
- data/generators/talia_base/templates/app/helpers/custom_templates_helper.rb +2 -0
- data/generators/talia_base/templates/app/helpers/ontologies_helper.rb +2 -0
- data/generators/talia_base/templates/app/helpers/sessions_helper.rb +2 -0
- data/generators/talia_base/templates/app/helpers/source_data/show.html.erb +2 -0
- data/generators/talia_base/templates/app/helpers/source_data_helper.rb +2 -0
- data/generators/talia_base/templates/app/helpers/sources_helper.rb +39 -0
- data/generators/talia_base/templates/app/helpers/types_helper.rb +2 -0
- data/generators/talia_base/templates/app/views/ontologies/index.builder +10 -0
- data/generators/talia_base/templates/app/views/ontologies/show.builder +7 -0
- data/generators/talia_base/templates/app/views/sessions/new.html.erb +33 -0
- data/generators/talia_base/templates/app/views/source_data/show.html.erb +2 -0
- data/generators/talia_base/templates/app/views/sources/_form.html.erb +15 -0
- data/generators/talia_base/templates/app/views/sources/edit.html.erb +9 -0
- data/generators/talia_base/templates/app/views/sources/index.html.erb +2 -0
- data/generators/talia_base/templates/app/views/sources/new.html.erb +8 -0
- data/generators/talia_base/templates/app/views/sources/show.html.erb +19 -0
- data/generators/talia_base/templates/app/views/types/index.html.erb +4 -0
- data/generators/talia_base/templates/app/views/types/show.html.erb +3 -0
- data/generators/talia_base/templates/config/routes.rb +83 -0
- data/generators/talia_base/templates/config/talia_initializer.rb +8 -0
- data/generators/talia_base/templates/migrations/bj_migration.rb +10 -0
- data/generators/talia_base/templates/migrations/constraint_migration.rb +24 -0
- data/generators/talia_base/templates/migrations/create_active_sources.rb +15 -0
- data/generators/talia_base/templates/migrations/create_custom_templates.rb +17 -0
- data/generators/talia_base/templates/migrations/create_data_records.rb +27 -0
- data/generators/talia_base/templates/migrations/create_open_id.rb +26 -0
- data/generators/talia_base/templates/migrations/create_progress_jobs.rb +18 -0
- data/generators/talia_base/templates/migrations/create_roles.rb +20 -0
- data/generators/talia_base/templates/migrations/create_semantic_properties.rb +14 -0
- data/generators/talia_base/templates/migrations/create_semantic_relations.rb +17 -0
- data/generators/talia_base/templates/migrations/create_sessions.rb +16 -0
- data/generators/talia_base/templates/migrations/create_users.rb +20 -0
- data/generators/talia_base/templates/migrations/create_workflows.rb +28 -0
- data/generators/talia_base/templates/migrations/populate_users.rb +11 -0
- data/generators/talia_base/templates/migrations/upgrade_relations.rb +12 -0
- data/generators/talia_base/templates/ontologies/hyper_ontology.owl +1462 -0
- data/generators/talia_base/templates/ontologies/hyper_ontology.pprj +9351 -0
- data/generators/talia_base/templates/ontologies/hyper_ontology.repository +6 -0
- data/generators/talia_base/templates/ontologies/scholar_0.1.owl +109 -0
- data/generators/talia_base/templates/script/configure_talia +292 -0
- data/generators/talia_base/templates/script/prepare_images +100 -0
- data/generators/talia_base/templates/talia.sh +51 -0
- data/generators/talia_base/templates/tasks/talia_core.rk +1 -0
- data/lib/loader_helper.rb +9 -0
- data/lib/talia_core.rb +0 -2
- data/lib/talia_dependencies.rb +5 -0
- data/lib/talia_util/rake_tasks.rb +223 -0
- data/tasks/talia_core_tasks.rake +2 -0
- metadata +138 -13
data/VERSION.yml
ADDED
data/config/database.yml
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
---
|
2
|
+
production:
|
3
|
+
adapter: jdbcmysql
|
4
|
+
host: localhost
|
5
|
+
password: talia
|
6
|
+
username: talia
|
7
|
+
database: talia_2_3_new_talia_production
|
8
|
+
test:
|
9
|
+
adapter: jdbcmysql
|
10
|
+
host: localhost
|
11
|
+
password: talia
|
12
|
+
username: talia
|
13
|
+
database: talia_2_3_new_talia_test
|
14
|
+
development:
|
15
|
+
adapter: jdbcmysql
|
16
|
+
host: localhost
|
17
|
+
password: talia
|
18
|
+
username: talia
|
19
|
+
database: talia_2_3_new_talia_development
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# MySQL (default setup). Versions 4.1 and 5.0 are recommended.
|
2
|
+
#
|
3
|
+
# Install the MySQL driver:
|
4
|
+
# gem install mysql
|
5
|
+
# On MacOS X:
|
6
|
+
# gem install mysql -- --include=/usr/local/lib
|
7
|
+
# On Windows:
|
8
|
+
# There is no gem for Windows. Install mysql.so from RubyForApache.
|
9
|
+
# http://rubyforge.org/projects/rubyforapache
|
10
|
+
#
|
11
|
+
# And be sure to use new-style password hashing:
|
12
|
+
# http://dev.mysql.com/doc/refman/5.0/en/old-client.html
|
13
|
+
development:
|
14
|
+
adapter: mysql
|
15
|
+
database: Talia_development
|
16
|
+
username: rails
|
17
|
+
password: slilRuAmNep3
|
18
|
+
host: localhost
|
19
|
+
|
20
|
+
# Warning: The database defined as 'test' will be erased and
|
21
|
+
# re-generated from your development database when you run 'rake'.
|
22
|
+
# Do not set this db to the same as development or production.
|
23
|
+
test:
|
24
|
+
adapter: mysql
|
25
|
+
database: Talia_test
|
26
|
+
username: rails
|
27
|
+
password: slilRuAmNep3
|
28
|
+
host: localhost
|
29
|
+
|
30
|
+
production:
|
31
|
+
adapter: mysql
|
32
|
+
database: Talia_production
|
33
|
+
username: rails
|
34
|
+
password: slilRuAmNep3
|
35
|
+
host: localhost
|
data/config/rdfstore.yml
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
# RDF store setup for rdland
|
2
|
+
development:
|
3
|
+
type: rdflite
|
4
|
+
dbfile: rdflite_development.db
|
5
|
+
|
6
|
+
# Warning: The database defined as 'test' will be erased and
|
7
|
+
# re-generated from your development database when you run 'rake'.
|
8
|
+
# Do not set this db to the same as development or production.
|
9
|
+
test:
|
10
|
+
type: rdflite
|
11
|
+
|
12
|
+
|
13
|
+
# WARNING: YOU REALLY DO NOT WANT TO USE RDFLIT IN AN PRODUCTION ENVIRONMENT!
|
14
|
+
production:
|
15
|
+
type: rdflite
|
16
|
+
dbfile: rdflist_production.db
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# RDF store setup for rdland with mysql store
|
2
|
+
development:
|
3
|
+
type: redland
|
4
|
+
name: dbl
|
5
|
+
location: mysql
|
6
|
+
database: Talia_development_rdf
|
7
|
+
user: root
|
8
|
+
password:
|
9
|
+
host: localhost
|
10
|
+
|
11
|
+
# Configuration example for redland with hashes(bdb) store
|
12
|
+
# You may also use "memory" instead of "hashes" for the memory-only store
|
13
|
+
#
|
14
|
+
# development:
|
15
|
+
# type: redland
|
16
|
+
# location: hashes
|
17
|
+
# name: talia_development
|
18
|
+
# hash-type: bdb
|
19
|
+
# dir: .
|
20
|
+
|
21
|
+
|
22
|
+
# Warning: The database defined as 'test' will be erased and
|
23
|
+
# re-generated from your development database when you run 'rake'.
|
24
|
+
# Do not set this db to the same as development or production.
|
25
|
+
test:
|
26
|
+
type: rdflite
|
27
|
+
|
28
|
+
production:
|
29
|
+
type: redland
|
30
|
+
name: dbl
|
31
|
+
location: mysql
|
32
|
+
database: Talia_production_rdf
|
33
|
+
user: root
|
34
|
+
password:
|
35
|
+
host: localhost
|
36
|
+
|
37
|
+
# Configuration example for redland with hashes(bdb) store
|
38
|
+
# You may also use "memory" instead of "hashes" for the memory-only store
|
39
|
+
#
|
40
|
+
# production:
|
41
|
+
# type: redland
|
42
|
+
# location: hashes
|
43
|
+
# name: talia_production
|
44
|
+
# hash-type: bdb
|
45
|
+
# dir: .
|
46
|
+
|
@@ -0,0 +1,14 @@
|
|
1
|
+
---
|
2
|
+
site_name: Talia 2.3.
|
3
|
+
rdf_connection_file: rdfstore
|
4
|
+
ardf_log_level: 0
|
5
|
+
local_uri: http://localhost:5000/
|
6
|
+
default_namespace_uri: http://default.dummy/
|
7
|
+
iip_root_directory_location:
|
8
|
+
standalone_db: true
|
9
|
+
db_file: database
|
10
|
+
namespaces:
|
11
|
+
dcns: http://purl.org/dc/elements/1.1/
|
12
|
+
dct: http://purl.org/dc/terms/
|
13
|
+
dcmit: http://purl.org/dc/dcmitype/
|
14
|
+
hyper: http://www.hypernietzsche.org/ontology/
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# TaliaCore configuration file
|
2
|
+
|
3
|
+
# The domain URI that is the "local" domain of this installation
|
4
|
+
local_uri: "http://test.dummy/"
|
5
|
+
# The domain URI that is used as a default if no namespace is given
|
6
|
+
default_namespace_uri: "http://default.dummy/"
|
7
|
+
|
8
|
+
# The RDF store configuration can be read from a file
|
9
|
+
rdf_connection_file: rdfstore
|
10
|
+
# RDF configuration can also be given as a hash here
|
11
|
+
# rdf_connection:
|
12
|
+
|
13
|
+
# Set the logging level for ActiveRDF
|
14
|
+
ardf_log_level: 0
|
15
|
+
|
16
|
+
# If standalone_db is set, ActiveRecord will be configured for use
|
17
|
+
# without the Rails environment
|
18
|
+
standalone_db: true
|
19
|
+
db_file: database
|
20
|
+
# Database configuration can also be given as a hash here
|
21
|
+
# db_connection:
|
22
|
+
# If unset, the databse log will end up in the default log directory
|
23
|
+
# db_log: database.log
|
24
|
+
|
25
|
+
# The location for data files (only set if you need to change
|
26
|
+
# the default location)
|
27
|
+
# data_directory_location: "/var/www/talia_data/"
|
28
|
+
|
29
|
+
# Configure the namespaces for use with RDF
|
30
|
+
namespaces:
|
31
|
+
# Default namespaces rdf, rdfs, xsd, owl are defined in the semantic_naming
|
32
|
+
# library.
|
33
|
+
# HyperNietzsche namespace
|
34
|
+
hyper: "http://www.hypernietzsche.org/ontology/"
|
35
|
+
# DublinCore namespace
|
36
|
+
dcns: "http://purl.org/dc/elements/1.1/"
|
37
|
+
dct: "http://purl.org/dc/terms/"
|
38
|
+
dcmit: "http://purl.org/dc/dcmitype/"
|
39
|
+
|
40
|
+
|
41
|
+
|
42
|
+
|
@@ -0,0 +1,49 @@
|
|
1
|
+
module GeneratorHelpers
|
2
|
+
|
3
|
+
DEFAULT_SHEBANG = File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name'])
|
4
|
+
|
5
|
+
def files_in(m, dir, top_dir = '')
|
6
|
+
Dir["#{File.join(self_dir, 'templates', dir)}/*"].each do |file|
|
7
|
+
|
8
|
+
m.directory "#{top_dir}#{dir}"
|
9
|
+
|
10
|
+
if(File.directory?(file))
|
11
|
+
files_in(m, "#{dir}/#{File.basename(file)}", top_dir)
|
12
|
+
else
|
13
|
+
m.file "#{dir}/#{File.basename(file)}", "#{top_dir}#{dir}/#{File.basename(file)}"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def make_migration(m, template_name)
|
19
|
+
m.migration_template "migrations/#{template_name}", "db/migrate", :migration_file_name => template_name.gsub(/\.rb\Z/, '')
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
# This monkeypatches a problem in the generator that causes it to have
|
25
|
+
# migration ids based on the timestamp in seconds. If more than one
|
26
|
+
# migration is generated at a time (that is, whithin one second),
|
27
|
+
# this will cause them to not work because of identical ids.
|
28
|
+
module Rails
|
29
|
+
module Generator
|
30
|
+
module Commands
|
31
|
+
class Create
|
32
|
+
|
33
|
+
alias :orig_migration_string :next_migration_string
|
34
|
+
|
35
|
+
def migration_count
|
36
|
+
@m_count ||= 0
|
37
|
+
@m_count += 1
|
38
|
+
@m_count
|
39
|
+
end
|
40
|
+
|
41
|
+
def next_migration_string(padding = 3)
|
42
|
+
return orig_migration_string(padding) unless(ActiveRecord::Base.timestamped_migrations)
|
43
|
+
(Time.now.utc.strftime("%Y%m%d%H%M") + ("%.2d" % migration_count))
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
Installs all files for the Talia administration backend.
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../generator_helpers'
|
2
|
+
|
3
|
+
class TaliaAdminGenerator < Rails::Generator::Base
|
4
|
+
|
5
|
+
include GeneratorHelpers
|
6
|
+
|
7
|
+
def self_dir ; File.dirname(__FILE__) ; end
|
8
|
+
|
9
|
+
def manifest
|
10
|
+
record do |m|
|
11
|
+
files_in m, 'views', 'app/'
|
12
|
+
files_in m, 'helpers', 'app/'
|
13
|
+
files_in m, 'controllers', 'app/'
|
14
|
+
files_in m, 'public'
|
15
|
+
files_in m, 'test'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
class Admin::BackgroundController < ApplicationController
|
2
|
+
layout 'admin', :except => [:update_progress]
|
3
|
+
require_role 'admin'
|
4
|
+
|
5
|
+
active_scaffold 'Bj::Table::Job' do |config|
|
6
|
+
# runner = Bj::Runner.ping
|
7
|
+
runner_label = "no runner active"
|
8
|
+
config.label = "Job Management (#{runner_label})"
|
9
|
+
|
10
|
+
if(!Bj.config[Bj::Runner.no_tickle_key])
|
11
|
+
config.action_links.add('tickle', :label => 'Tickle Runner', :action => 'tickle', :parameters => {:id => '0'})
|
12
|
+
end
|
13
|
+
|
14
|
+
config.actions.exclude :create, :update, :delete
|
15
|
+
config.show.link.inline = false
|
16
|
+
config.columns = [ :state, :tag, :pid, :submitter, :runner, :submitted_at ]
|
17
|
+
end
|
18
|
+
|
19
|
+
def tickle
|
20
|
+
Bj::Runner.tickle
|
21
|
+
redirect_to :action => 'index'
|
22
|
+
end
|
23
|
+
|
24
|
+
def show
|
25
|
+
@job = Bj::Table::Job.find(params['id'])
|
26
|
+
end
|
27
|
+
|
28
|
+
def stdin
|
29
|
+
@job = Bj::Table::Job.find(params['id'])
|
30
|
+
end
|
31
|
+
|
32
|
+
def stdout
|
33
|
+
@job = Bj::Table::Job.find(params['id'])
|
34
|
+
end
|
35
|
+
|
36
|
+
def stderr
|
37
|
+
@job = Bj::Table::Job.find(params['id'])
|
38
|
+
end
|
39
|
+
|
40
|
+
def environment
|
41
|
+
@job = Bj::Table::Job.find(params['id'])
|
42
|
+
@environment = @job.env ? YAML.load(@job.env) : nil
|
43
|
+
end
|
44
|
+
|
45
|
+
def update_progress
|
46
|
+
@job = Bj::Table::Job.find(params['id'])
|
47
|
+
@progress_job = TaliaCore::BackgroundJobs::ProgressJob.find(:first, :conditions => { :job_id => @job.id })
|
48
|
+
render :partial => 'progress'
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
class Admin::CustomTemplatesController < ApplicationController
|
2
|
+
layout 'admin'
|
3
|
+
require_role 'admin'
|
4
|
+
|
5
|
+
active_scaffold :custom_template do |config|
|
6
|
+
config.columns = [:name, :template_type, :content]
|
7
|
+
config.action_links.add 'clear_cache', :label => 'Clear Cache'
|
8
|
+
end
|
9
|
+
|
10
|
+
def clear_cache
|
11
|
+
CustomTemplate.find(:all).each do |template|
|
12
|
+
expire_page(:controller => '/custom_templates', :action => template.template_type, :id => template.name)
|
13
|
+
end
|
14
|
+
render :text => 'Template cache cleared'
|
15
|
+
end
|
16
|
+
|
17
|
+
protected
|
18
|
+
|
19
|
+
# Before an updated record, clean out the cache for that page
|
20
|
+
def before_update_save(record)
|
21
|
+
expire_page(:controller => '/custom_templates', :action => record.template_type, :id => record.name)
|
22
|
+
puts "EXPIRED"
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class Admin::LocalesController < ApplicationController
|
2
|
+
layout 'admin'
|
3
|
+
|
4
|
+
def new
|
5
|
+
end
|
6
|
+
|
7
|
+
def create
|
8
|
+
if I18n.add_locale(params[:name], params[:code])
|
9
|
+
redirect_to edit_admin_translation_path(params[:code])
|
10
|
+
else
|
11
|
+
flash[:error] = "Invalid locale, please check the format and make sure the language is available."
|
12
|
+
render :action => 'new'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
require 'paginator'
|
2
|
+
|
3
|
+
class Admin::SourcesController < ApplicationController
|
4
|
+
include TaliaCore
|
5
|
+
require_role 'admin'
|
6
|
+
layout 'admin'
|
7
|
+
cache_sweeper :av_media_sweeper, :only => :update
|
8
|
+
|
9
|
+
# GET /admin/sources
|
10
|
+
# GET /admin/sources.xml
|
11
|
+
def index
|
12
|
+
@sources = TaliaCore::Source.paginate :page => params[:page], :per_page => 10
|
13
|
+
|
14
|
+
respond_to do |format|
|
15
|
+
format.html # index.html.erb
|
16
|
+
format.xml { render :xml => @sources }
|
17
|
+
format.js do
|
18
|
+
render :update do |page|
|
19
|
+
page.replace_html 'sources', :partial => 'sources'
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
# GET /admin/sources/1/edit
|
26
|
+
def edit
|
27
|
+
@source = TaliaCore::Source.find_by_partial_uri(params[:id])
|
28
|
+
end
|
29
|
+
|
30
|
+
# PUT /admin/sources/1
|
31
|
+
# PUT /admin/sources/1.xml
|
32
|
+
def update
|
33
|
+
@source = TaliaCore::Source.find_by_id(params[:id])
|
34
|
+
|
35
|
+
respond_to do |format|
|
36
|
+
if @source.update_attributes(params[:source])
|
37
|
+
flash[:notice] = 'Source was successfully updated.'
|
38
|
+
format.html { redirect_to :action => "index" }
|
39
|
+
format.xml { head :ok }
|
40
|
+
else
|
41
|
+
format.html { render :action => "edit" }
|
42
|
+
format.xml { render :xml => @source.errors, :status => :unprocessable_entity }
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# GET /admin/sources/data/1
|
48
|
+
def data
|
49
|
+
# We need to specify the clause, because of Source#find overwrite the
|
50
|
+
# default behavior.
|
51
|
+
@source = TaliaCore::Source.find_by_id(params[:id])
|
52
|
+
|
53
|
+
respond_to do |format|
|
54
|
+
format.js do
|
55
|
+
render :update do |page|
|
56
|
+
page.replace_html 'list', :partial => 'list'
|
57
|
+
page.insert_html :top, 'data', :partial => 'notice', :locals => { :text => 'Your file has been saved.'}
|
58
|
+
page[:data_notice].visual_effect :highlight
|
59
|
+
page[:data_notice].visual_effect :fade, :duration => 3
|
60
|
+
page.delay(3.1) { page.remove :data_notice }
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
# GET /admin/sources/auto_complete_for_source/aaa
|
67
|
+
def auto_complete_for_source
|
68
|
+
@items = TaliaCore::Source.find_by_uri_token(params[:source][:predicates_attributes].first[:titleized])
|
69
|
+
render :inline => "<%= auto_complete_result @items, 'titleized' %>"
|
70
|
+
end
|
71
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
class Admin::TranslationsController < ApplicationController
|
2
|
+
layout 'admin'
|
3
|
+
require_role 'admin'
|
4
|
+
PER_PAGE = 30
|
5
|
+
|
6
|
+
after_filter :flush_locale, :only => [:update, :destroy]
|
7
|
+
|
8
|
+
# GET /admin/translations
|
9
|
+
def index
|
10
|
+
redirect_to edit_admin_translation_path(Locale.active.code)
|
11
|
+
end
|
12
|
+
|
13
|
+
# GET /admin/translations/search?key1=hello%20world&key2=good_morning
|
14
|
+
def search
|
15
|
+
keys = params.map {|key, value| value if key.to_s =~ /key/}.compact
|
16
|
+
translations = ViewTranslation.find_by_locale_and_tr_key(params[:locale], keys)
|
17
|
+
session[:reference_locale] = params[:locale]
|
18
|
+
|
19
|
+
respond_to do |format|
|
20
|
+
format.js { render :layout => false, :inline => translations.to_json }
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
# GET /admin/translations/en-US/edit
|
25
|
+
def edit
|
26
|
+
@translations = ViewTranslation.find_by_locale(params[:id], :order => "tr_key ASC")
|
27
|
+
@locale_code = params[:id]
|
28
|
+
@autoload = load_reference_translations?
|
29
|
+
end
|
30
|
+
|
31
|
+
# PUT /admin/translations/en-US
|
32
|
+
def update
|
33
|
+
if ViewTranslation.create_or_update(params[:translations], params[:id])
|
34
|
+
flash[:notice] = 'Your translations has been saved'
|
35
|
+
else
|
36
|
+
flash[:error] = 'There was some problems'
|
37
|
+
end
|
38
|
+
|
39
|
+
redirect_to edit_admin_translation_path(params[:id])
|
40
|
+
end
|
41
|
+
|
42
|
+
# DELETE /admin/translations/1
|
43
|
+
def destroy
|
44
|
+
@translation = ViewTranslation.find(params[:id])
|
45
|
+
@translation.destroy
|
46
|
+
|
47
|
+
respond_to do |format|
|
48
|
+
format.html do
|
49
|
+
flash[:notice] = 'Your translation has been deleted'
|
50
|
+
redirect_to edit_admin_translation_path(params[:locale])
|
51
|
+
end
|
52
|
+
format.js
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
private
|
57
|
+
|
58
|
+
def load_reference_translations?
|
59
|
+
!!session[:reference_locale] && session[:reference_locale] != params[:locale]
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
class Admin::UsersController < ApplicationController
|
2
|
+
require_role 'admin'
|
3
|
+
layout 'admin'
|
4
|
+
PER_PAGE = 10
|
5
|
+
|
6
|
+
def index
|
7
|
+
@users = User.paginate(:page => params[:page], :per_page => PER_PAGE)
|
8
|
+
end
|
9
|
+
|
10
|
+
def show
|
11
|
+
@user = User.find(params[:id])
|
12
|
+
end
|
13
|
+
|
14
|
+
def new
|
15
|
+
@user = User.new
|
16
|
+
end
|
17
|
+
|
18
|
+
def create
|
19
|
+
@user = User.new(params[:user])
|
20
|
+
|
21
|
+
if @user.save
|
22
|
+
flash[:notice] = "User was successfully created."
|
23
|
+
redirect_to :action => 'show', :id => @user
|
24
|
+
else
|
25
|
+
render :action => 'new'
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def edit
|
30
|
+
@user = User.find(params[:id])
|
31
|
+
end
|
32
|
+
|
33
|
+
def update
|
34
|
+
@user = User.find(params[:id])
|
35
|
+
|
36
|
+
if @user.update_attributes(params[:user])
|
37
|
+
flash[:notice] = "User was successfully updated."
|
38
|
+
redirect_to :action => 'show', :id => @user
|
39
|
+
else
|
40
|
+
render :action => 'edit'
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def destroy
|
45
|
+
User.find(params[:id]).destroy
|
46
|
+
redirect_to :action => 'index'
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
module Admin::BackgroundHelper
|
2
|
+
|
3
|
+
def render_job
|
4
|
+
case(@job.state)
|
5
|
+
when 'finished'
|
6
|
+
render :partial => 'finished'
|
7
|
+
when 'running'
|
8
|
+
render :partial => 'running'
|
9
|
+
when 'pending'
|
10
|
+
render :partial => 'pending'
|
11
|
+
else
|
12
|
+
"Unknown state #{@job.state}"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def progress_eta
|
17
|
+
return 'Finishing...' unless(@progress_job.percentage < 100)
|
18
|
+
('ETA: ' + duration_s(@progress_job.eta)).gsub(' ', ' ')
|
19
|
+
end
|
20
|
+
|
21
|
+
def job_tag
|
22
|
+
"- #{@job.tag}" if(@job.tag)
|
23
|
+
end
|
24
|
+
|
25
|
+
def job_duration
|
26
|
+
finished = @job.finished_at || Time.now
|
27
|
+
duration_s(finished - @job.started_at)
|
28
|
+
end
|
29
|
+
|
30
|
+
def job_link
|
31
|
+
link_to('Back to job', :action => 'show', :id => @job.id)
|
32
|
+
end
|
33
|
+
|
34
|
+
def stdout_link
|
35
|
+
link_to('View STDOUT', :action => 'stdout', :id => @job.id) unless(@job.stdout.blank?)
|
36
|
+
end
|
37
|
+
|
38
|
+
def stderr_link
|
39
|
+
link_to('View STDERR', :action => 'stderr', :id => @job.id) unless(@job.stderr.blank?)
|
40
|
+
end
|
41
|
+
|
42
|
+
def stdin_link
|
43
|
+
link_to('View STDIN', :action => 'stdin', :id => @job.id) unless(@job.stdin.blank?)
|
44
|
+
end
|
45
|
+
|
46
|
+
def environment_link
|
47
|
+
link_to('Runtime Environment', :action => 'environment', :id => @job.id) unless(@job.env.blank?)
|
48
|
+
end
|
49
|
+
|
50
|
+
def duration_s(seconds)
|
51
|
+
minutes, seconds = seconds.divmod(60)
|
52
|
+
hours, minutes = (minutes == 0) ? [0, 0] : minutes.divmod(60)
|
53
|
+
duration_s = ''
|
54
|
+
(duration_s << "#{hours.to_i} hours ") if(hours != 0)
|
55
|
+
(duration_s << "#{minutes.to_i} minutes ") if(minutes != 0)
|
56
|
+
duration_s << "#{seconds.to_i} seconds"
|
57
|
+
duration_s
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|