Git Product home page Git Product logo

nautilpres's Introduction

nautilpres

Example digital preservation extensions for the nautilus file-manager.

Introduction

A small hack I've been meaning to create for a while to demonstrate mechanisms of extending a basic Linux operating system to provide basic digital preservation information that might be useful to folk.

This repository provides users with a choice of two extensions for the nautilus file manager:

  • A panel extension to extend information provided looking at a file's properties after clicking right-click -> Properties
  • A nautilus columns extension to display digital preservation information in the nautilus list view.

Requirements

  • Siegfried must be installed, and an absolute path must be setup for it in the digipres_helpers.py script: seen here.
  • nautilus-python must be installed via a package manager such as apt get install (python-nautilus/python3-nautilus (newer)).
  • The scripts must be installed in ~/.local/share/nautilus-python/extensions.
  • Whether you choose the columns or the properties script, both require digipres_helpers.py which wraps Siegfried and checksum functions.
  • Nautilus must be restarted, e.g. $ nautilus -q.

Recommendations

  • I would recommend running one script or the other, but not both. As both scripts calculate file checksums they can slow your system down. The column extension more-so because it will try and calculate a sum per every file in a folder.

  • digipres_columns_extension.py is a nice demonstration but nautilus seems to have restricted what is possible, for example, custom columns are not sortable in Ubuntu 18.04 and so this limits the potential of this script.

  • digipres_props_extension.py has some nice potential to be extended and might be useful to folk wanting quick access to information such as a format PUID (PRONOM unique identifier).

Demonstration

Columns extension

  1. The columns extension will add checksum and PUID information to the nautilus list-view:

  1. I wanted it to be easier to display and potentially remove duplicates but the extension information can no longer be sorted. It might be possible to do this with older versions of Nautilus though:

Properties extension

  1. This has become my favorite while writing this today, a Digipres tab will appear in your properties view:

  1. When you click over to the tab you will see similar information to the column view:

  1. And the information can be selected so if you want to grab some quick statistics about a file you can:

What next?

If you give the scripts a whirl, let me know how it goes. Feedback would be great.

Also found along the way was the concept of nautilus-scripts which can add capability to the context-manager, which I think is pretty cool. You could integrate bagit.py as an example (probably!) and be able to bag from the GUI instead of having to drop into the command-line. The example in this blog is about converting files, so there's some scope to use this functionality for #digipres as well.

Example scripts:

  • Johan van der Knijff of the KB in The Netherlands linked me to his collection of context manager scripts for the Caja file manager in Linux Mint, which also work in Nautilus.

Questions

  • What file-manager do you use?
  • Is there a better file-manager?
  • What is the future of nautilus?
    • Folks seem to say it is quite limited on forums, so maybe there is a better file-manager we can use in the field? That we can maybe also extend and provide easily accessible digital preservation output.
  • What other information would you like to see?
  • Have you already developed something similar?
    • If you have already done something similar, please do share! As well as if you take these examples and build on them.

Resources

I've included addition resource information in the scripts, but I'll place it here too:

nautilpres's People

Contributors

ross-spencer avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

nautilpres's Issues

Restarting nautilus

Sometimes when testing nautilus won't restart. Two options exist to help:

  • killall nautilus
  • ps aux |grep nautilus
  • kill -9

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.