Giter Club home page Giter Club logo

deims's Introduction

DEIMS Install Profile

Requirements

Tested Hardware

DEIMS can run in a modern laptop (say a MacPro), for testing/devel purposes. For production, we suggest you use a machine running a Linux distro, with at least 4Gb of RAM, specially if you are going to build DEIMS using drush make. Early versions on DEIMS running on PHP 5.3.8 ran on old PC Desktops with just 2Gb of RAM. However, with PHP 5.5.* or above, you may run into trouble with limited RAM. The more RAM the better!

We installed DEIMS in Solaris, using a pre-built LAMP, but generally speaking, according to our tests, Linux has better tuned in LAMPs or LEMPs, and runs those stacks more efficiently out of the box. We do not know enough Solaris to make LAMPs fly.

We heard of cases when DEIMS was installed in a WAMP stack (Windows). Folks (in Taiwan) installed DEIMS using a PostGres backend (see patches/issues to make that happen). Please tell us your experiences.

Instructions

The following instructions assume that you clone this profile into a directory 'above' your web server root. The web server root directory in these examples is www.

Installing

Installing the profile involved 4 steps.

  1. Clone the profile.
  2. Build the profile into your web root.
  3. Create a database for your site to connect to.
  4. Navigate to your site in your web browser to complete the install process.

For the example commands below, 'www' represents the complete path to your site's desired webroot.

Fork the repo, then clone your forked copy with this:

Optionally, you can specify the destination folder by adding the folder name to the end of the line above. Build the site into your webroot:

  • cd deims
  • drush make build-deims.make '/path/to/your-site/www' --prepare-install --contrib-destination=profiles/deims

Hint: Make use of symbolink links, so you dont have to use prepend all your command line work with sudo. For example, clone DEIMS to your home dir, then your drush make would may be like this just be:

  • drush make build-deims.make www --prepare-install --contrib-destination=profiles/deims After which, you would simply create your link. For example, in Debian Ubuntu:

  • sudo ln -s /home/myusername/deims/www /var/www/html/deims

At this point, it is advisable you visit your installed DEIMS profile using the browser to complete the install. There are some configuration steps that are best deal with when using the UI wizard (as oppossed to drush si deims)

Update existing site

Updates of Drupal Profiles often follow a different timeline and workflow than your typical Drupal Site. In our case, the DEIMS Profile Drupal has a few enhancements that are lost if updated without care to carry these enhacements. We advise to wait for a new release of DEIMS before updating on your own - but if you do, make sure the enhancements are ported, otherwise you may experience issues after the update.

Note: updating an existing site from the profile is not yet supported. You must rebuild the site not using an existing database install. The following may work only on specific updates - best to wait for a bundle or Read advisories and guidelines per update, for that check the DEIMS google groups.

  • git pull
  • cd www
  • drush make ../build-deims.make
  • drush updatedb

Further documentation:

Check out videos on YouTube as well as the Book of DEIMS.

deims's People

Contributors

cgries avatar davereid avatar isangil avatar jlaundre avatar lukewertz avatar mutolisp avatar seanbuscay avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

deims's Issues

Regression on taxonomy term tree

It seems the taxonomy tree widget is not operational under some circumsntances. the module is not in the best maintenance cycles, and we should take a look on how to fix these issues. The "search" term to filter ceases to work, all hierarchy is expanded, etc.

add bdp icon

adds a bdp icon for consistency with EML and ISO

EML: Site Details not rendered

Site details, part of the research site, are not being rendered in EML.

We need to modify the EML template of research site. (the tpl file)
We need to create a tpl file for the eml--site-details--site-details

Finally, we need one more thing. In the Manage display EML view mode, I need to activate the EML view modes in all respective places.

drush site-install fails with default Package ID pattern

When running the site install from drush (6.2.0) for deims:

> drush site-install deims --db-url=mysql://root:root@localhost/deims --site-name=Example
...

WD php: Exception: The Package ID pattern is using the following invalid tokens: [node:field_data_set_id], [node:field_eml_revision_id].

I'm assuming the default value for the Package ID is referencing tokens that haven't been defined yet, but I'm just guessing.

It isn't complaining about the station-acronym token and that one is defined in the deims.tokens.inc

Regression: IEF cloning

CLone button dissapeared -- perhaps the latest stable introduced a while back was responsible. Investigate latest versions and patches

Adding person/organizations from the data-set form (inline-entity)

When a content contributor adds a dataset, she may choose to add a person or organization that is already in DEIMS. She would click "Add existing node", but the list of nodes that the autocomplete shows tends to ignore whether is a person or an organization, mixing both node types. This may lead to confusion.

Add joyride tours to aid the DEIMS users

The forms to create metadata aid users document datasets. Forms have enough fields to meet the high quality data standards adopted by the US LTER Network, yet we strive to make the data documentation experience as light as we possibly can. Since there is complexity and new concepts, we should offer ample guidance to familiarize the user with the data-entry process. Seems like joyride http://drupal.org/project/joyride, documentation and perhaps some videos may help.

postgres

DEIMS and postgres do not seem to get along well -- reports from two folks indicate at least the data-set content type is not working with the post-gres backend. likewise the schema reference.

Schema.org : Dataset

It will not hurt to create a schema.org/dataset HTML header to help the major search engines to index data appropriately. Adam says this is easy w/ the contrib. module schemaorg. Let's test this.

PASTA: Need to check whether the dataset is present in PASTA before submission

PASTA's API contemplates the create-new dataset and update operations - these are called differently.

it would seem currently that updates to dataset send to PASTA's create-new, creating a silent rejection, or at least a rejection that is not recorded. we'll need to check whether the EML is in PASTA before deciding the type of submission we do.

This is not critical, and largely irrelevant to non-LTER users, who should not activate the PASTA module.

ISO, BDP malformed if PHP tidy extension not present

The ISO and BDP versions of the DEIMS datasets do not render when the DEIMS hosting server lacks the tidy extension of PHP. Even though the isoDataSet class (iso/lib) tries its best to make do w/o iso, it fails at using the PHP DOM.

// If the Tidy library isn't found, then we can pretty much duplicate
// the whitespace and indentation cleanup using the PHP DOM library.

needs some work so we do not depend on tidy, and recommendation to use the extension.

Abolish Code List limits

per Eda's email: Can this be extended to unlimited in the definition of a variable of a codelist type?
"The Codes field supports a maximum of 100 options. Please reduce the number of options.

code - Starting point would be on the variable field, but pretty soon may find a dependency that came up with that performance triggered limit. Will need to hunt it.

100 code lists, we can make a language out of them.

EML regression

Well, at some point we introduced the 'short name' field in the EML, the thing is, there are two problems.. is out of order (should be before title), and the camelCase is not used well (typo). ought to be an eeeasy fix.

Error when add variables of data sources

Dear deims developers,

When I try to add variables of data sources (everything works well without add variables), it showed the following error messages:

PDOException: SQLSTATE[22003]: Numeric value out of range: 7 ERROR: setval: value 0 is out of
bounds for sequence "field_data_field_variables_field_variables_id_seq" (1..9223372036854775807):
SELECT setval('field_data_field_variables_field_variables_id_seq',
GREATEST(MAX(field_variables_id), :serial_value)) FROM {field_data_field_variables}; Array (
[:serial_value] => 0 ) in field_sql_storage_field_storage_write() (line 494 of
/usr/local/www/deims/modules/field/modules/field_sql_storage/field_sql_storage.module).

I am just wondering if it is the postgres or the php-pdo_pgsql problem.

I used DEIMS-7.x-1.x with PostgreSQL 9.3, php5-pdo_pgsql-5.4.35

thank you!

Migrate d2d dev commits break deims build

Problem: DEIMS builds break due to recent activity in the migrate-d2d module.

Explanation:
@mykeryan cleaned up the contrib module migrate_d2d issue and patch queues. One action done was a commit with the #2026233 patch (issued by @davereid ).

Proposed action:
We need to test these changes -- removing the patch from the makefile, see whether we get expected results once DEIMS builds.

Chosen patch 'unable to download'

Problem:
the drupal-org makefile specifies to download the @davereid latest chosen patch over https, instead of http, which seems to choke the build for a server in Oxford.

Consequence: No build.

Action: I am going to change to protocol from secure 'https' to open 'http'.

tempted to piggy back this fix to the issue #47 and related branch,

Better permissions from start

DEIMS comes with many roles in addition to the "anonymous user", "authenticated user" and "administrator". Other roles are:
content contributor
data contributor
information manager

However, by default none of the roles have proper permissions. We need to have a better 'default' permissions set and documentation about all of it.

Updates on contrib modules

Not all are required, not all are desirable. In fact, I dont think the critical issues would compromise current implementations, as auth. users are trusted users too. However, it is a good practice to update things. Here is a list, some of them will be updated.
Critical - Sec.
Context (context) 7.x-3.2 7.x-3.6
Custom breadcrumbs (custom_breadcrumbs) 7.x-2.0-alpha3 7.x-2.0-beta1
Entity API (entity) 7.x-1.5 7.x-1.6
Views (views) 7.x-3.8 7.x-3.10

Version not supported -> module_filter

Update available:
Address Field (addressfield) 7.x-1.0-beta4 7.x-1.0
Administration menu (admin_menu) 7.x-3.0-rc4 7.x-3.0-rc5
Administration Menu select (admin_select) 7.x-1.3 7.x-1.5
Automatic Entity Labels (auto_entitylabel) 7.x-1.2 7.x-1.3
CAPTCHA (captcha) 7.x-1.0 7.x-1.2
Chaos tools (ctools) 7.x-1.4 7.x-1.6
Display Suite (ds) 7.x-2.4 7.x-2.7
Entity Construction Kit (eck) 7.x-2.0-rc2 7.x-2.0-rc7
Email (email) 7.x-1.2 7.x-1.3
External Links (extlink) 7.x-1.13 7.x-1.18
Facet API (facetapi) 7.x-1.3 7.x-1.5
Field Group (field_group) 7.x-1.4+11-dev 7.x-1.x-dev
Field Validation (field_validation) 7.x-2.3 7.x-2.4
File entity (file_entity) 7.x-2.0-beta1+1-dev 7.x-2.x-dev
FlexSlider (flexslider) 7.x-2.0-alpha1 7.x-2.0-alpha3
Helper (helper) 7.x-1.3 7.x-1.5
Inline Entity Form (inline_entity_form) 7.x-1.3 7.x-1.5
Leaflet More Maps (leaflet_more_maps 7.x-1.9 7.x-1.10
ink (link) 7.x-1.2 7.x-1.3
Menu Block (menu_block) 7.x-2.3 7.x-2.5
Options element (options_element) 7.x-1.9 7.x-1.12
Schema (schema) 7.x-1.0-rc1 7.x-1.2
Schema.org (schemaorg) 7.x-1.0-beta4 7.x-1.0-rc1
Search API (search_api) 7.x-1.7 7.x-1.14
Database search (search_api_db) 7.x-1.0-rc2 7.x-1.4
Select (or other) (select_or_other) 7.x-2.18 7.x-2.20
Token (token) 7.x-1.5 7.x-1.6
Views Bulk Operations (views_bulk_operations) 7.x-3.1 7.x-3.2
Views Content Cache (views_content_cache) 7.x-3.0-alpha2 7.x-3.0-alpha3
Workbench Moderation (workbench_moderation) 7.x-1.3 7.x-1.4
Wysiwyg Force Linebreaks (wysiwyg_linebreaks) 7.x-1.5 7.x-1.6

Relax Data Explorer query on string-based fields

Case: We configure text-based variable filters for the data explorer. When using such query pages, the
expectation is that we see results on partial matches.

Example: We can query on a "Location Name". We do not know the exact names, so we enter
"Lake". Currently, it yields no results, as the table column "location Name", has values "Lake Bonney", "Lake Hoare", etc. What we ought to do is relax the query, from exact match, to use the operator "LIKE".

core 36 and contrib updates

Let's test whether the latest core (36) and some contrib modules updates build well and work well with DEIMS. Of special interest is making auto-entity-label into stable, removing the patch dependency, and some other stables.

New version of migrate_d2d breaks DEIMS migrate parts (al

changes in the d6.inc (dev) break some migrations, specifically those with data subfields, such as images. after working on this, all i can come up is to revert to the previous version of migrate_d2d, thus far. Would have to post the bug at d.org, if indeed this is a bug.

The critical error looks like this

PDOException: SQLSTATE[42S22]: Column not found: 
1054 Unknown column 'field_person_photo_description' in 'field list'

Adaptive theme changes warn on missing file

the adaptive base theme just released stable 7.x-3.2 (march 23, 2014). In my latest install, I observe a warning on a missing file public://adaptivetheme/deims_theme_files/deims_theme.default.font.css
this warning did not appear before, and may not be all that important. perhaps is time to see whether the 'stable' version works with deims

PASTA: the EML built in the PASTA object has incorrect URL to data-file

The EML generated and rendered by DEIMS is just fine.

Somehow, when we build the EML inside the PASTA module using the EMLDataSet : getEML method, the distribution element contains a url that is not proper, we would beed to render the drupalbase/root.
I.e: forexeample, the in-EML URL that's about to be sent to PASTA looks like http://default/sites/default/files/DELTA_HYDRO.csv

While instead of "default", we should see the drupal-base for the site...

Upgrade DEIMS Drupal core to version 7.28

Patches are still compatible with the new core, which is 2 versions ahead of current DEIMS Drupal Core, including a security update (7.27). While I foresee no problems, we still need some testing before switching the core. And perhaps promote those patches to RTBC on the Drupal queue issues.

Schema.org may be injecting <span> on EML's Organization CCT

Just noticed things like this on the EML

<metadataProvider>
<organizationName>McMurdo Dry Valleys LTER</organizationName>
<onlineUrl>http://mcm.lternet.edu</onlineUrl>
<span property="dc:title" content="McMurdo Dry Valleys LTER" class="rdf-meta"/>
</metadataProvider>

This was introduced after the adoption of the Schema.org work.

DEIMS: DE: breaks when no filters configured

What happens?

You are in a Data Explorer form, (node/%/data : where the nid corresponds to a configured data-source.)

Your admin exposed some variables but did not allow users to filter on ANY variable.

The DE form shows "columns you want to include", but in the "filters you'd like to add" there is a "no filters found". OK so far.

You check some columns, hit submit. DEIMS answers with error - The website encountered an unexpected error. Please try again later.

Easy workaround: Have your DEIMS admin configuring the at least one of this data-source variables to be a filter. (check the second checkbox in one variable). The query will work now, provided all the rest is well configured.

Where in code? Cannot trace it yet - tried to wrap the query object 'filters' addition with isset of !empty, but failed. Deserves more investigation.

Core and other contrib critical updates

potential security vulnerabilities.
core 7.31.
views 3.8
date 2.8. care with date, as migration depends on that (migration test). there are other notable

other opportunities:
-telephone is on alpha1
-schema is stable (1.2) also search api and search api db have updates, these would impact the data explorer feature.

there are other updates, but im ambivalent about them.

Core patches

Updating the core to the latest release would be desirable, as users of the profile are often unaware that shouldnt update core (resulting on small catastrophes). Meanwhile, we could warn some more against the practice in REAME

Data Explorer: A single filter (unset) for a code variable code makes the DE query fail

Data Explorer: A single filter (unset) for a code variable code makes the DE query fail

Error is
Notice: Undefined index: filters in deims_data_explorer_form() (line 99 of /profiles/deims/modules/custom/deims_data_explorer/deims_data_explorer.pages.inc).
Warning: array_intersect_key(): Argument #1 is not an array in deims_data_explorer_form() (line 99 of /profiles/deims/modules/custom/deims_data_explorer/deims_data_explorer.pages.inc).
Recoverable fatal error: Argument 3 passed to deims_data_explorer_get_query_from_data_source() must be an array, null given, called in //profiles/deims/modules/custom/deims_data_explorer/deims_data_explorer.pages.inc on line 106 and defined in deims_data_explorer_get_query_from_data_source() (line 264 of //profiles/deims/modules/custom/deims_data_explorer/deims_data_explorer.module).

if filter is set then works.

DS + drush make build + php 5.5 may not be a good mix

When I build using php5.5 and drush make, all goes well until the end of the install, when the "Notice" errors after install, give way to more notices (DS erros) and at the end of the Config phase wizard, the install is all mangled.

When I configure from a tar-ball built at D.O, all is well, even in a Machine running PHP 5.5.*

When I build using 'drush make' php 5.3.20+ all is well, with upgrades of most modules.

Did some invest, but not really much, the above are heads up and workarounds knowns.

Flex workbench

The designed workbench workflow is really nice for groups that want to establish a chain-of-command, or quality control checks. As a DEIMS user, you can enter a dataset, save it, but not publish it. The admin has to publish the datasets later.

This, without much documentation, may create confusion.

I propose we make the whole Workbench stack optional, or at least document it well.

Taxa entity

Originally a user story, the need to capture Taxa information. At a bare minimum, we can let users describe

Taxa Level/Rank
Scientific Name
Common Name
Taxon ID
Authority

A more ambitious project would consist of integrating services from common authorities such as ITIS, Species2000, Encyclopedia of Life and others.

User permissions to view files

As a user, I would like to download the files I upload, like in the data source.

Mod. the DEIMS permissions feature to enable this.

Chosen in contrib and custom?

I have to verify, but it would seem that the chosen folder that hosts the chosen module may appear both in "contrib" and "custom"....

Persons to Biblio Authors Issue

Turns out it is not so easy to connect the publications of a Person through the author.

The logic we followed is, if we connect the biblio "authors" (cids) with the Persons (nids), all the desired functionality would follow, specially, rendering a list of pubs associated with a Person.

Not so.

I ran into issues at the 'rendering pubs' step.

At the Person form, we connect "OK" the authors, although, the "Node Autocomplete" widget does not show the labels of the authors cids, instead, shows a --restricted access--. It still allows you to pick one of the 'restricted access' author cids, and it is ok-ish, when you narrow it down to your cid (an exact match). Likewise, all attempts to render the author cid label in the person form or a view end in the - Restricted access - It all points to a permission problem, which may be a consequence of biblio not following the field API, entity API -- it is a port from the early Drupals. (but this is another story).

Anyway, we need to get to the desired functionality. There's got to be a way -- it all works with users and author cids, but likely the biblio maintainers coded this in an ad-hoc way. Any takers most welcome!

Documenting non-tabular Data Sources

How do we use DEIMS to document non-tabular sources, such as photos, multi-dimensional matrices, videos, geo-features, genomics data, modeling inputs/outputs, etc?

Here are two (of many) approaches to answer this issue.

  1. A simple description of a data source can be accomplished with the current DEIMS data-source content type, just ignoring the 'variables' tab, and some of the descriptors that are oriented to CSVs or Tab-delimited structures/spreadsheets. Introducing some tweaks in the data-source form and documentation can guide the user in this simplified generic approach to documenting diverse data sources.
  2. Data-source specific descriptors should be also designed and implemented.
    For example, forms that capture genomics data sources, coupled with clients that work with external APIs such as Mg-Rast to simplify the data-documenting workflows. Other notable example: GIS-data: we should re-use existing popular solutions rather than reinventing new forms. Cartaro distributions elements, perhaps?

We should also tie graphical data sources in the DEIMS-metadata workflow - the elements exists (image, media), we need some extra effort to link those in the 'data set' workflow.

We will have to expand the XML-services we offer with data-sources to capture these additions.

If you can contribute, commenting, designing or implementing, please do so.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.