talia_core 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<table id="translations">
|
|
2
|
+
<tr>
|
|
3
|
+
<th>Login</th>
|
|
4
|
+
<th>E-Mail</th>
|
|
5
|
+
<th colspan="3"></th>
|
|
6
|
+
</tr>
|
|
7
|
+
<% for user in @users %>
|
|
8
|
+
<tr>
|
|
9
|
+
<td><%=h user.login %></td>
|
|
10
|
+
<td><%=h user.email %></td>
|
|
11
|
+
<td><%= link_to "Show", :action => 'show', :id => user %></td>
|
|
12
|
+
<td><%= link_to "Edit", :action => 'edit', :id => user %></td>
|
|
13
|
+
<td><%= link_to "Destroy", :action => 'destroy', :id => user, :confirm => 'Are you sure?', :method => :delete %></td>
|
|
14
|
+
</tr>
|
|
15
|
+
<% end %>
|
|
16
|
+
</table>
|
|
17
|
+
<br />
|
|
18
|
+
|
|
19
|
+
<%= will_paginate @users %>
|
|
20
|
+
|
|
21
|
+
<br />
|
|
22
|
+
<%= link_to "Create new user", :action => "new" %>
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
6
|
+
<meta name="keywords" content="parole chiave" />
|
|
7
|
+
<meta name="description" content="Descrizione" />
|
|
8
|
+
<meta name="copyright" content="Copyright" />
|
|
9
|
+
<meta name="robots" content="all" />
|
|
10
|
+
<meta http-equiv="pragma" content="no-cache" />
|
|
11
|
+
<%= stylesheet_link_tag('backend') %>
|
|
12
|
+
<%= javascript_include_tag('prototype') %>
|
|
13
|
+
<%= javascript_include_tag('scriptaculous') %>
|
|
14
|
+
<%= javascript_include_tag('lowpro') %>
|
|
15
|
+
<%= javascript_include_tag('backend') %>
|
|
16
|
+
<%= javascript_include_tag(:defaults) %>
|
|
17
|
+
<%= active_scaffold_includes %>
|
|
18
|
+
<%= yield :javascript %>
|
|
19
|
+
<link rel="shortcut icon" type="image/ico" href="/favicon.ico" />
|
|
20
|
+
|
|
21
|
+
<title><%= page_title %></title>
|
|
22
|
+
</head>
|
|
23
|
+
|
|
24
|
+
<body>
|
|
25
|
+
|
|
26
|
+
<div id="paginaExt">
|
|
27
|
+
<div id="paginaInt">
|
|
28
|
+
<div id="testata">
|
|
29
|
+
<h1>Discovery Project</h1>
|
|
30
|
+
<p class="testata_sottotitolo">Backend Management</p>
|
|
31
|
+
</div>
|
|
32
|
+
|
|
33
|
+
<div id="menu">
|
|
34
|
+
<ul>
|
|
35
|
+
<li><%= link_to('Home', '/') %>
|
|
36
|
+
<li><%= link_to('Users', :controller => 'admin/users') %></li>
|
|
37
|
+
<li><%= link_to('Translations', :controller => 'admin/translations') %></li>
|
|
38
|
+
<li><%= link_to('Templates', :controller => 'admin/custom_templates')%>
|
|
39
|
+
<li><%= link_to('Logout', '/logout') %></li>
|
|
40
|
+
</ul>
|
|
41
|
+
</div>
|
|
42
|
+
|
|
43
|
+
<div id="contenuti">
|
|
44
|
+
|
|
45
|
+
<div class="floatClear">
|
|
46
|
+
</div>
|
|
47
|
+
|
|
48
|
+
<!-- LOGIN -->
|
|
49
|
+
<div id="contenutoInterno">
|
|
50
|
+
<%= show_flash %>
|
|
51
|
+
<%= yield %>
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
</div>
|
|
56
|
+
</body>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
Installs the base elements of a Talia application. This will install the migrations,
|
|
2
|
+
the base controllers, ontologies and scripts. You should also install talia's route.rb
|
|
3
|
+
file when asked.
|
|
4
|
+
|
|
5
|
+
After you ran this task, you can run script/configure_talia to generate a first configuration.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
require File.dirname(__FILE__) + '/../generator_helpers'
|
|
2
|
+
|
|
3
|
+
class TaliaBaseGenerator < Rails::Generator::Base
|
|
4
|
+
|
|
5
|
+
include GeneratorHelpers
|
|
6
|
+
|
|
7
|
+
def manifest
|
|
8
|
+
puts "Trying to install the plugins before generation"
|
|
9
|
+
plugin_script = File.join(RAILS_ROOT, 'script', 'plugin')
|
|
10
|
+
c = ::Config::CONFIG
|
|
11
|
+
ruby = File.join(c['bindir'], c['ruby_install_name']) << c['EXEEXT']
|
|
12
|
+
|
|
13
|
+
system("#{ruby} #{plugin_script} install git://github.com/activescaffold/active_scaffold.git")
|
|
14
|
+
system("#{ruby} #{plugin_script} install git://github.com/timcharper/role_requirement.git")
|
|
15
|
+
|
|
16
|
+
record do |m|
|
|
17
|
+
# Some initialization stuff
|
|
18
|
+
m.directory 'config/initializers'
|
|
19
|
+
m.file "config/talia_initializer.rb", "config/initializers/talia.rb"
|
|
20
|
+
m.file "config/routes.rb", "config/routes.rb", :collision => :ask
|
|
21
|
+
m.file "talia.sh", "talia.sh", :shebang => '/bin/sh', :chmod => 0755
|
|
22
|
+
|
|
23
|
+
# Install the scripts
|
|
24
|
+
m.directory 'script'
|
|
25
|
+
m.file 'script/configure_talia', 'script/configure_talia', :shebang => DEFAULT_SHEBANG, :chmod => 0755
|
|
26
|
+
m.file 'script/prepare_images', 'script/prepare_images', :shebang => DEFAULT_SHEBANG, :chmod => 0755
|
|
27
|
+
|
|
28
|
+
# The whole app shebang of files
|
|
29
|
+
files_in m, 'app'
|
|
30
|
+
|
|
31
|
+
# The default ontologies
|
|
32
|
+
files_in m, 'ontologies'
|
|
33
|
+
|
|
34
|
+
# Add the migrations
|
|
35
|
+
m.directory 'db/migrate'
|
|
36
|
+
m.file "migrations/constraint_migration.rb", "db/migrate/constraint_migration.rb"
|
|
37
|
+
make_migration m, "create_sessions.rb"
|
|
38
|
+
make_migration m, "create_users.rb"
|
|
39
|
+
make_migration m, "create_open_id.rb"
|
|
40
|
+
make_migration m, "create_roles.rb"
|
|
41
|
+
make_migration m, "populate_users.rb"
|
|
42
|
+
make_migration m, "create_active_sources.rb"
|
|
43
|
+
make_migration m, "create_semantic_relations.rb"
|
|
44
|
+
make_migration m, "create_semantic_properties.rb"
|
|
45
|
+
make_migration m, "create_data_records.rb"
|
|
46
|
+
make_migration m, "create_workflows.rb"
|
|
47
|
+
make_migration m, "create_custom_templates.rb"
|
|
48
|
+
make_migration m, "upgrade_relations.rb"
|
|
49
|
+
make_migration m, "create_progress_jobs.rb"
|
|
50
|
+
make_migration m, "bj_migration.rb"
|
|
51
|
+
|
|
52
|
+
# Set up the rake tasks, only if we come from a gem
|
|
53
|
+
if(Gem.source_index.find_name('talia_core').first)
|
|
54
|
+
m.directory 'lib/tasks'
|
|
55
|
+
m.file 'tasks/talia_core.rk', 'lib/tasks/talia_core.rake'
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def self_dir ; File.dirname(__FILE__) ; end
|
|
61
|
+
|
|
62
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
class CustomTemplatesController < ApplicationController
|
|
2
|
+
|
|
3
|
+
layout nil
|
|
4
|
+
session :off
|
|
5
|
+
|
|
6
|
+
caches_page :xslt
|
|
7
|
+
|
|
8
|
+
def stylesheets
|
|
9
|
+
render_template('css', 'text/css')
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def xslt
|
|
13
|
+
render_template('xslt', 'application/xml')
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
private
|
|
17
|
+
|
|
18
|
+
def render_template(type, mime_type)
|
|
19
|
+
template = CustomTemplate.find(:first, :conditions => { :name => params[:id], :template_type => type })
|
|
20
|
+
if(template)
|
|
21
|
+
render(:text => template.content, :content_type => mime_type)
|
|
22
|
+
else
|
|
23
|
+
render(:nothing => true, :status => 404)
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
class OntologiesController < ApplicationController
|
|
2
|
+
|
|
3
|
+
def index
|
|
4
|
+
onto_qry = Query.new(N::URI).select(:context).distinct.where(N::TALIA.rdf_context_space, N::TALIA.rdf_file_context, :context)
|
|
5
|
+
@ontologies = onto_qry.execute.collect { |context| context.local_name }
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def show
|
|
9
|
+
ontology_url = N::TALIA + URI.encode(params[:id])
|
|
10
|
+
@triples = Query.new(N::URI).select(:s, :p, :o).where(:s, :p, :o, ontology_url).execute
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
end
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# This controller handles the login/logout function of the site.
|
|
2
|
+
class SessionsController < ApplicationController
|
|
3
|
+
|
|
4
|
+
cache_sweeper :editions_sweeper, :only => [:destroy]
|
|
5
|
+
layout 'admin'
|
|
6
|
+
|
|
7
|
+
# render new.rhtml
|
|
8
|
+
def new
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# login
|
|
12
|
+
def create
|
|
13
|
+
if using_open_id?
|
|
14
|
+
open_id_authentication(params[:openid_url])
|
|
15
|
+
else
|
|
16
|
+
password_authentication(params[:login], params[:password])
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# logout
|
|
21
|
+
def destroy
|
|
22
|
+
if logged_in?
|
|
23
|
+
self.current_user.forget_me
|
|
24
|
+
empty_cache = true
|
|
25
|
+
end
|
|
26
|
+
cookies.delete :auth_token
|
|
27
|
+
reset_session
|
|
28
|
+
flash[:notice] = "You have been logged out."
|
|
29
|
+
# When a translator logs out, we want to perform a cache cleaning, since we don't
|
|
30
|
+
# know what that translator changed and where.
|
|
31
|
+
# Still, we don't want to perform the cache cleaning any time a user invokes the
|
|
32
|
+
# /logout URL
|
|
33
|
+
# To check if we are _actually_ performing a logout, we check if we were logged_in?
|
|
34
|
+
#
|
|
35
|
+
# TODO: why are we still logged in here?
|
|
36
|
+
if empty_cache
|
|
37
|
+
# TODO: since we are still logged in here (why?), we need to empty the @current_user val
|
|
38
|
+
# otherwise the perform_caching method (in the application controller) will return false
|
|
39
|
+
# (as it esplicitely shuts down the caching when a user is logged in)
|
|
40
|
+
@current_user = nil
|
|
41
|
+
EditionsSweeper.instance.clean_cache
|
|
42
|
+
end
|
|
43
|
+
redirect_back_or_default('/')
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
protected
|
|
47
|
+
|
|
48
|
+
# password authentication
|
|
49
|
+
def password_authentication(login, password)
|
|
50
|
+
self.current_user = User.authenticate(login, password)
|
|
51
|
+
if logged_in?
|
|
52
|
+
successful_login
|
|
53
|
+
else
|
|
54
|
+
failed_login
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# open id authentication
|
|
59
|
+
def open_id_authentication(identity_url)
|
|
60
|
+
authenticate_with_open_id(identity_url) do |status, identity_url|
|
|
61
|
+
if status.successful?
|
|
62
|
+
if self.current_user = User.open_id_authentication(identity_url)
|
|
63
|
+
successful_login
|
|
64
|
+
else
|
|
65
|
+
failed_login "Sorry, no user by that identity URL exists (#{identity_url})"
|
|
66
|
+
end
|
|
67
|
+
else
|
|
68
|
+
failed_login status.message
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
private
|
|
74
|
+
|
|
75
|
+
# login successful
|
|
76
|
+
def successful_login
|
|
77
|
+
if params[:remember_me] == "1"
|
|
78
|
+
self.current_user.remember_me
|
|
79
|
+
cookies[:auth_token] = { :value => self.current_user.remember_token , :expires => self.current_user.remember_token_expires_at }
|
|
80
|
+
end
|
|
81
|
+
redirect_back_or_default('/')
|
|
82
|
+
flash[:notice] = "Logged in successfully"
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
# login failed
|
|
86
|
+
def failed_login(message = nil)
|
|
87
|
+
flash[:error] = message if !message.nil?
|
|
88
|
+
render :action => 'new'
|
|
89
|
+
end
|
|
90
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
class SourceDataController < ApplicationController
|
|
2
|
+
include TaliaCore::DataTypes
|
|
3
|
+
# TODO: Needs upload_progress plugin - not so important atm
|
|
4
|
+
# upload_status_for :create
|
|
5
|
+
|
|
6
|
+
# GET /source_data/1
|
|
7
|
+
def show
|
|
8
|
+
send_record_data(TaliaCore::DataTypes::DataRecord.find(params[:id]))
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def show_tloc
|
|
12
|
+
@source_data = TaliaCore::DataTypes::DataRecord.find_by_type_and_location!(params[:type], params[:location])
|
|
13
|
+
send_record_data(@source_data)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# POST /source_data
|
|
17
|
+
def create
|
|
18
|
+
status = TaliaCore::DataTypes::FileRecord.find_or_create_and_assign_file(params[:data_record]) ? 200 : 500
|
|
19
|
+
render :inline => '', :status => status
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# DELETE /source_data/1
|
|
23
|
+
def destroy
|
|
24
|
+
@source_data = TaliaCore::DataTypes::DataRecord.find(params[:id])
|
|
25
|
+
@source = @source_data.source_record
|
|
26
|
+
@source_data.destroy
|
|
27
|
+
render :update do |page|
|
|
28
|
+
page.replace_html 'list', :partial => "admin/sources/data", :collection => @source.data
|
|
29
|
+
page.insert_html :top, 'data', :partial => 'admin/sources/notice', :locals => { :text => 'Your file has been destroyed.'}
|
|
30
|
+
page[:data_notice].visual_effect :highlight
|
|
31
|
+
page[:data_notice].visual_effect :fade, :duration => 3
|
|
32
|
+
page.delay(3.1) { page.remove :data_notice }
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# Send the record to the browser
|
|
37
|
+
def send_record_data(record)
|
|
38
|
+
send_data record.content_string, :type => record.mime_type,
|
|
39
|
+
:disposition => 'inline',
|
|
40
|
+
:filename => "#{params[:location]}.tif"
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
class SourcesController < ApplicationController
|
|
2
|
+
include TaliaCore
|
|
3
|
+
|
|
4
|
+
before_filter :setup_format
|
|
5
|
+
|
|
6
|
+
PER_PAGE = 10
|
|
7
|
+
|
|
8
|
+
# GET /sources
|
|
9
|
+
# GET /sources.xml
|
|
10
|
+
def index
|
|
11
|
+
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# GET /sources/1
|
|
15
|
+
# GET /sources/1.xml
|
|
16
|
+
def show
|
|
17
|
+
raise(ActiveRecord::RecordNotFound) unless(ActiveSource.exists?(params[:id]))
|
|
18
|
+
@source = ActiveSource.find(params[:id])
|
|
19
|
+
respond_to do |format|
|
|
20
|
+
format.xml { render :text => @source.to_xml }
|
|
21
|
+
format.rdf { render :text => @source.to_rdf }
|
|
22
|
+
format.html { render }
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# GET /sources/1/name
|
|
27
|
+
def show_attribute
|
|
28
|
+
headers['Content-Type'] = Mime::TEXT
|
|
29
|
+
attribute = TaliaCore::Source.find(params[:source_id])[params[:attribute]]
|
|
30
|
+
status = '404 Not Found' if attribute.nil?
|
|
31
|
+
render :text => attribute.to_s, :status => status
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# GET /sources/1/foaf/friend
|
|
35
|
+
def show_rdf_predicate
|
|
36
|
+
headers['Content-Type'] = Mime::TEXT
|
|
37
|
+
predicates = TaliaCore::Source.find(params[:id]).predicate(params[:namespace], params[:predicate])
|
|
38
|
+
if predicates.nil?
|
|
39
|
+
# This is a workaround: when predicates is nil it tries to render a template with the name of this method.
|
|
40
|
+
predicates = ''
|
|
41
|
+
status = '404 Not Found'
|
|
42
|
+
end
|
|
43
|
+
render :text => predicates, :status => status
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
private
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
# Hack around routing limitation: We use the @ instead of the dot as a delimiter
|
|
50
|
+
def setup_format
|
|
51
|
+
split_id = params[:id].split('@')
|
|
52
|
+
assit(split_id.size <= 2)
|
|
53
|
+
params[:id] = split_id.first
|
|
54
|
+
params[:format] = (split_id.size > 1) ? split_id.last : 'html'
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def get_uri
|
|
59
|
+
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
class TypesController < ApplicationController
|
|
2
|
+
|
|
3
|
+
# GET /sources
|
|
4
|
+
# GET /sources.xml
|
|
5
|
+
def index
|
|
6
|
+
respond_to do |format|
|
|
7
|
+
format.html # index.html.erb
|
|
8
|
+
format.xml { render :xml => @sources }
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# GET /sources/1
|
|
13
|
+
# GET /sources/1.xml
|
|
14
|
+
def show
|
|
15
|
+
@type = N::SourceClass.make_uri(params[:id], "_")
|
|
16
|
+
@page_title = "Talia | #{@type.to_name_s}"
|
|
17
|
+
respond_to do |format|
|
|
18
|
+
format.html # show.html.erb
|
|
19
|
+
format.xml { render :xml => @source }
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
module SourcesHelper
|
|
2
|
+
|
|
3
|
+
# Renders the data
|
|
4
|
+
def render_source_data
|
|
5
|
+
result = ""
|
|
6
|
+
if(@source.data_records.size > 0)
|
|
7
|
+
@source.data_records.each do |data_record|
|
|
8
|
+
case(data_record.mime_type)
|
|
9
|
+
when 'text/html'
|
|
10
|
+
result += "<h3>HTML Data: #{data_record.location}</h3>"
|
|
11
|
+
result += "<div>"
|
|
12
|
+
result += widget(:html_data, :data => data_record)
|
|
13
|
+
result += "</div>"
|
|
14
|
+
when 'text/xml'
|
|
15
|
+
result += "<pre><code>"
|
|
16
|
+
result += data_record.get_escaped_content_string
|
|
17
|
+
result += "</code></pre>"
|
|
18
|
+
when 'text/plain'
|
|
19
|
+
result += "<h3>Plain Text Data: #{data_record.location}</h3>"
|
|
20
|
+
result += "<pre> #{data_record.all_text} </pre>"
|
|
21
|
+
else
|
|
22
|
+
result += "<h3>Found data object of type #{data_record.class} (#{data_record.mime_type}): #{data_record.location}</h3>"
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
else
|
|
26
|
+
result ="<h3>Sorry mate, no data objects here</h3>"
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
result
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def source_toolbar
|
|
33
|
+
widget(:toolbar, :buttons => [
|
|
34
|
+
["Lucca", {:action => 'show', :id => 'Lucca'}],
|
|
35
|
+
["All", {:action => 'index'} ],
|
|
36
|
+
["Print Page", "javascript:print();"]
|
|
37
|
+
] )
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
xml.instruct!
|
|
2
|
+
|
|
3
|
+
xml.urlset(:xmlns => 'http://www.sitemaps.org/schemas/sitemap/0.9', 'xmlns:sc' => 'http://sw.deri.org/2007/07/sitemapextension/scschema.xsd') do
|
|
4
|
+
@ontologies.each do |ontology|
|
|
5
|
+
xml.sc :dataset do
|
|
6
|
+
xml.sc :datasetLabel, ontology.titleize
|
|
7
|
+
xml.sc :datasetURI, url_for(:action => 'show', :id => ontology, :only_path => false)
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<div id="password_login">
|
|
2
|
+
<% form_tag session_path do -%>
|
|
3
|
+
<p><label for="login">Login</label><br/>
|
|
4
|
+
<%= text_field_tag 'login' %></p>
|
|
5
|
+
|
|
6
|
+
<p><label for="password">Password</label><br/>
|
|
7
|
+
<%= password_field_tag 'password' %></p>
|
|
8
|
+
<!-- Uncomment this if you want this functionality
|
|
9
|
+
<p><label for="remember_me">Remember me:</label>
|
|
10
|
+
<%= check_box_tag 'remember_me' %></p>
|
|
11
|
+
-->
|
|
12
|
+
|
|
13
|
+
<p><%= submit_tag 'Log in' %></p>
|
|
14
|
+
<% end -%>
|
|
15
|
+
<a href="#">switch to open-id login</a>
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
<div id="openid_login">
|
|
19
|
+
<% form_tag session_path do -%>
|
|
20
|
+
<p><label for="openid_url">OpenId</label><br/>
|
|
21
|
+
<%= text_field_tag 'openid_url' %></p>
|
|
22
|
+
|
|
23
|
+
<!-- Uncomment this if you want this functionality
|
|
24
|
+
<p><label for="remember_me">Remember me:</label>
|
|
25
|
+
<%= check_box_tag 'remember_me' %></p>
|
|
26
|
+
-->
|
|
27
|
+
|
|
28
|
+
<p><%= submit_tag 'Log in' %></p>
|
|
29
|
+
<% end -%>
|
|
30
|
+
<a href="#">switch to username/password login</a>
|
|
31
|
+
</div>
|
|
32
|
+
|
|
33
|
+
<%= javascript_include_tag('session') %>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<%= error_messages_for 'source' %>
|
|
2
|
+
<!--[form:source]-->
|
|
3
|
+
<p><label for="source_name">Name</label><br/>
|
|
4
|
+
<%= text_field 'source', 'name', :value => @source.name,
|
|
5
|
+
:tabindex => 10 %></p>
|
|
6
|
+
|
|
7
|
+
<p><label for="source_uri">Uri</label><br/>
|
|
8
|
+
<%= text_field 'source', 'uri', :value => @source.uri,
|
|
9
|
+
:tabindex => 20 %></p>
|
|
10
|
+
|
|
11
|
+
<p><label for="source_primary_source">Primary Source</label><br/>
|
|
12
|
+
<%= select 'source', 'primary_source', [false, true],
|
|
13
|
+
:tabindex => 40 %>
|
|
14
|
+
</p>
|
|
15
|
+
<!--[eoform:source]-->
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<h2><%= @source.uri.to_name_s %></h2>
|
|
2
|
+
<table>
|
|
3
|
+
<% for attribute, value in @source.attributes %>
|
|
4
|
+
<tr>
|
|
5
|
+
<td><%= attribute %></td>
|
|
6
|
+
<td><%= value %></td>
|
|
7
|
+
</tr>
|
|
8
|
+
<% end %>
|
|
9
|
+
<% for predicate in @source.direct_predicates %>
|
|
10
|
+
<tr>
|
|
11
|
+
<td><%= predicate %></td>
|
|
12
|
+
<td>
|
|
13
|
+
<% @source[predicate].each do |val| %>
|
|
14
|
+
<%= val %><br/>
|
|
15
|
+
<% end %>
|
|
16
|
+
</td>
|
|
17
|
+
</tr>
|
|
18
|
+
<% end %>
|
|
19
|
+
</table>
|