February 29, 2012
Persistent Identifier Resources
I have previously identified my ignorance regarding persistent URLs. Here are a few resources that may alleviate the condition:
New Drupal module call Persistent Identifiers? Yes, please.
Implementing Persistent Identifiers - a useful pdf
February 28, 2012
Loggin and communication data requests - Part 1
The goal here is to offer a contact form that will structure requests for access to private data files. Right now, I'm using the same form used by the Data Download functionality but that may need to change because the data download reuses the same information time and again and the submission content for a data request will be different than that of a data request. Capiche?
Any ways, here is where I am:
1) Added a field to data set indicating whether it is Public/Private
2) If Private, a specific Panels template is called which includes a link to the Data Download form. This link is formatted to place the dataset NID in the url because I need this in order to get the data set contact's email. The URL looks like http:/umbs.lsa.umich.edu/research/weform?id=342
3) I added a private (hidden) field to the webform with a default value of %get[id] to make it part of the submission data.
4) Enabled Webform Rules and created a rule that triggers when Data Download form is submitted *if* the data set is private.
5) Added custom php rule to create the email. Ran into asinine token related issues which frustrate me to know end!!!
Logging and communicating file downloads. Part Treux
[EDIT: I had to reconfigure how files were displayed. Switching to a File type of View. See this post for more.]
Implementation Round 2:
1) Install and enable additional modules
Squeeze - gives ability to interrupt a file download by redirecting to a Webform
Filefield Stats - gives cryptic name to file download link, allows squeeze to not fire until the file is actually clicked on (i.e., user can still view node page)
Download Stats - introduces Rules action to trigger upon file download. I will use this to send an email to the file contributor with information from the Webform
$ sudo drush dl squeeze-6.x-1.x-dev filefield_stats download_count
$ drush en squeeze filefield_stats download_count
* May need to apply this patch for Squeeze
2. Create a webform to collect use information
3. Visit update.php and Configure
- Permissions (admin/user/permissions)
Squeeze - check all for administrator, nothing else
Download Count - Check all for admin, view own download counts for Authenticated
Filefield Stats - check all for admin, nothing else
Check Default for 'Show page?';
Squeeze enabled content types: Data File Data Set;
Default Squeeze form: Data Download Form;
Check Redirect back to protected page
Download Count (admin/settings/download_count):
You can disable all the new menu items though admin/build/menu-customize/navigation
Filefield Stats: no options
4. Per the Squeeze module: File fields should have 'Generic files + Stats URL [+ Download Count]' as display type
I use a View (admin/build/views/edit/datafile_list) to list files so this setting is in the Field section of the pertinent view. Change the Public file, leave Private files as is.
5. Create a Rule that will trigger upon download and send an email to the Data Set Contact
This rule should include the following conditions (custom PHP):
Is downloaded file from a Data File CT?
Does the Contact want to be downloaded when files are downloaded?
The action should do the following:
Retrieve Data Set contact information
Retrieve last webform submission for the IP of the downloading user
Package the Webform submission information into an email and send to Contact.
6. [Optional] Get this module patch taken care of for usability purposes.
February 24, 2012
Upgrading to D7?
It's a Friday. And I want to be productive but I don't want to do any of the things I usually do. This is when I usually spend some time exploring my options re: drupal. Today I'm looking at how hard it will be to upgrade to Drupal 7 using Drupal's Upgrade Status module.
Here's a summary.
Modules in use: 84(!)(!)(!)
Stable for D7: 27
In D7 Core: 9
Dev for D7: 27
No D7 releases: 20
Now, the last figure is the most important. It looks like 10 of those 20 have ready D7 substitutes available. Of the 10 that have no port available, 5 of those are deal breakers - meaning they supply absolutely necessary functionality that I don't currently have a substitute for. Here are the details:
-> Used to keep some data files private
-> Drupal 7 has can do both public/private file types out of the box
-> Need Level: 10
-> Used to check the URL path and trigger a rule to do something
-> I could probably stop using this module right now but custom PHP within Rules should do the same thing
-> I think this is now part of Rules Core
-> Need Level: 1
-> Part of the Download Data form, used by the Squeeze Module
-> Need level: 10
-> Part of the Download Data form,
-> Need level: 10
Views Bonus EML
-> Allows export of metadata to EML compliant format
-> No port thread
-> Need Level: 10
-> Used to put user entries into vocabularies into a moderation queue (i.e. protect the keywords list)
-> This module has mysteriously stopped working so I'm a bit frustrated with it
-> Port thread
-> Need Level: 6 (if it works)
Chaos tool custom plugins for Panels
-> Add images/links to Panes
-> No port issue open
-> Need level: 5
CCK Tweak Button
-> Hack to theme the "Add Another" buttons on node/add forms
-> If I can manage a proper theming job, this should become obsolete
-> Need level: 3
Views Date Range Filter D6
-> Usability module for viewing housing applications
-> No plans to port
-> Need Level: 2
February 21, 2012
How to force browsers to download a csv file
1) Open the .htaccess file found in the core drupal installation
2) Add this line
AddType application/octet-stream .csv
I believe I have solved this. It appears you can either set "DefaultType application/octet-stream" or enable the mime_magic module. Recommendations or opinions on these approaches are welcome. Notes follow.
$ sudo a2enmod
$ sudo /etc/init.d/apache2 restart
Disable a module:
$ sudo a2dismod
$ sudo /etc/init.d/apache2 restart
Searching terminal history on Ubuntu
Going from this blog post
$ history | grep [search term]
Ctrl + R -> type in search term -> hit Ctrl+R again to cycle through results -> Enter to apply command
February 20, 2012
Webform software from UM
Apparently the U has a contract with this company FormStack which can be used for building webforms.
February 06, 2012
Scope has been defined as an overall profile of the research/scholarship sensitivity (vs project or data set granularity.)
- Right now, we register most sensitive data types meaning Moderate and Low will not be registered for researchers with High Sensitivity data (i.e., they skip out of that portion of form.)
- Some Sensitive data types may catch too many people.
- It was suggested that H/M/L has too many connotations. To a researcher, all their data are High.
- Sensitive | Private/Confidential | Public
- High | Moderate | Low
- 3 | 2 | 1
High Sensitivity, Non-regulated Data Types
- What UM-endorsed resources are OK to use?
Is CSG up to the task of supporting units in securing data?
February 03, 2012
Use of Nearshore Monitoring Buoys in the Great Lakes
Didn't even know about this webinar took place but it's worth watching: