{"id":28660313,"url":"https://github.com/openrefine/filesextension","last_synced_at":"2025-06-13T10:12:44.917Z","repository":{"id":267072918,"uuid":"897218438","full_name":"OpenRefine/FilesExtension","owner":"OpenRefine","description":"Files extension for OpenRefine","archived":false,"fork":false,"pushed_at":"2025-05-21T09:24:46.000Z","size":216,"stargazers_count":6,"open_issues_count":6,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-09T13:02:13.732Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenRefine.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-02T08:49:25.000Z","updated_at":"2025-06-09T03:59:31.000Z","dependencies_parsed_at":"2024-12-10T10:35:18.884Z","dependency_job_id":"0317f850-76d1-4f46-ada8-7e079467c91a","html_url":"https://github.com/OpenRefine/FilesExtension","commit_stats":null,"previous_names":["sunilnatraj/fileextension","sunilnatraj/filesextension","openrefine/filesextension"],"tags_count":1,"template":false,"template_full_name":"OpenRefine/sample-extension","purl":"pkg:github/OpenRefine/FilesExtension","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenRefine%2FFilesExtension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenRefine%2FFilesExtension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenRefine%2FFilesExtension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenRefine%2FFilesExtension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenRefine","download_url":"https://codeload.github.com/OpenRefine/FilesExtension/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenRefine%2FFilesExtension/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259624810,"owners_count":22886341,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-13T10:12:41.878Z","updated_at":"2025-06-13T10:12:44.910Z","avatar_url":"https://github.com/OpenRefine.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Files Extension for OpenRefine\nOpenRefine provides a powerful feature for generating detailed file information from selected directories in your local system. This functionality allows users to create projects containing comprehensive file metadata.\n\nFeatures included in this extension:\n* Start an OpenRefine project by loading details of files from one or more folders on your local system.\n* File details included are file name, extension, size in KB, creation date, last modification date, permissions, SHA-256 checksum, author and file path\n\n\nIt works with **OpenRefine 3.8.7 and later versions of OpenRefine**. \n\n## How to use this extension\n\n### Install this extension in OpenRefine\n\nDownload the .zip file of the [latest release of this extension](https://github.com/OpenRefine/FilesExtension/releases).\nUnzip this file and place the unzipped folder in your OpenRefine extensions folder. [Read more about installing extensions in OpenRefine's user manual](https://docs.openrefine.org/manual/installing#installing-extensions).\n\nWhen this extension is installed correctly, you will now see the additional option 'Files from local directory' when starting a new project in OpenRefine. \n\n### Start an OpenRefine project\n\nAfter installing this extension, click the 'Files from local directory' option to start a new project in OpenRefine. Use the \"Select a drive or folder\" dropdown to select the top level drive or folder to get directory details.\n\n\u003cimg width=\"1439\" alt=\"Start project\" src=\"https://github.com/user-attachments/assets/f48c9edb-3081-4be2-ab8a-de41e0f0f991\" /\u003e\n\n---\n\n### Directory Navigation\n\nThe system presents a hierarchical directory browser that allows you to:\n- Expand/collapse directories using arrow indicators\n- Select multiple directories simultaneously using checkboxes\n- View the complete directory structure under the selected root drive/folder\n- Navigate through system directories including user folders, system folders, and mounted volumes\n\n\u003cimg width=\"1436\" alt=\"Directory navigation\" src=\"https://github.com/user-attachments/assets/e753b3c6-1b14-427d-b25d-4f67155f683d\" /\u003e\n\n\n---\n\n### File Details Generation\nOnce directories are selected, Click Next. In the project preview screen (`Configure parsing options`), you can view the details of the files in the selected folder(s).\nThe following information is included for each file:\n\n| Field | Description |\n|-------|-------------|\n| fileName | Name of the file with extension |\n| fileSize(KB) | Size of the file in kilobytes |\n| fileExtension | The file's extension type |\n| lastModifiedTime | Last modification timestamp |\n| creationTime | File creation timestamp |\n| author | Owner/creator of the file |\n| filePath | Complete path to the file location |\n| filePermissions | Read/write/execute permissions |\n| sha256 | SHA-256 hash of the file |\n---\n\n### Project Naming Convention\n- The project name is automatically generated based on selected folders\n- Format: `folder-details_[folder1]_[folder2]_and_more\n- Upto 2 selected folders are concatenated in the name\n- Users can modify the generated name before creation\n- Additional tags can be added for better organization\n  \n\u003cimg width=\"1438\" alt=\"Project preview\" src=\"https://github.com/user-attachments/assets/e7f30bd8-38cc-4a7a-8ca6-774fd20e47f3\" /\u003e\n\n\n---\n\n## Development\n\n### Building from source\n\nRun     \n```\nmvn package\n```\n\nThis creates a zip file in the `target` folder, which can then be [installed in OpenRefine](https://docs.openrefine.org/manual/installing#installing-extensions).\n\n### Developing it\n\nTo avoid having to unzip the extension in the corresponding directory every time you want to test it, you can also use another set up: simply create a symbolic link from your extensions folder in OpenRefine to the local copy of this repository. With this setup, you do not need to run `mvn package` when making changes to the extension, but you will still to compile it with `mvn compile` if you are making changes to Java files, and restart OpenRefine if you make changes to any files.\n\n### Releasing it\n\n- Make sure you are on the `master` branch and it is up to date (`git pull`)\n- Open `pom.xml` and set the version to the desired version number, such as `\u003cversion\u003e0.1.0\u003c/version\u003e`\n- Commit and push those changes to master\n- Add a corresponding git tag, with `git tag -a v0.1.0 -m \"Version 0.1.0\"` (when working from GitHub Desktop, you can follow [this process](https://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/managing-commits/managing-tags) and manually add the `v0.1.0` tag with the description `Version 0.1.0`)\n- Push the tag to GitHub: `git push --tags` (in GitHub Desktop, just push again)\n- Create a new release on GitHub at https://github.com/OpenRefine/FilesExtension/releases/new, providing a release title (such as \"Files extension 0.1.0\") and a description of the features in this release.\n- Open `pom.xml` and set the version to the expected next version number, followed by `-SNAPSHOT`. For instance, if you just released 0.1.0, you could set `\u003cversion\u003e0.1.1-SNAPSHOT\u003c/version\u003e`\n- Commit and push those changes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenrefine%2Ffilesextension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenrefine%2Ffilesextension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenrefine%2Ffilesextension/lists"}