Coder Social home page Coder Social logo

seafile-thunderbird-filelink's Introduction

Thunderbird Seafile Extension

This mail extension allow user to use seafile for large attachments. This is a beta version. I will publish this extension on Thunderbird when it will be stable. You can use and test this extension, all basics features are implemented and I don't have intention to break things.

To test this extension, first clone this git repository on your computer.

Load the extension as a temporary addon

  1. Open the Add-ons manager (Menu > Add-ons & Themes)
  2. Select Extensions in the left vertical bar
  3. Click the gear and select "Debug Add-ons"

In the new window, in the "Temporary Extensions" section, click "Load Temporary Add-on..." and select this project's manifest.json file.

This install this extension for the session duration only.

Click "Inspect" button to open developpers tools. Messages logged with console.log() will appear in the console tab.

You can inspect content of browser storage in storage tab. This extension uses browser storage to store accounts configuration. Look at the "Extension Storage" section.

Configuration

Once the extension is loaded, open Preferences > Composition.

At the bottom in the attachments section, click on Add Seafile to add a filelink provider.

Configure the provider with your seafile server and your credentials.

In order to test with small files, set Offer to share for files larger than at 0.

Usage

  1. Compose a new email

  2. Attach a file

    A yellow message at screen's bottom allow you to use Filelink to store the attachement: just click Link

Development

This extension use webpack. You need to install npm before. Then:

npm init -y
npm install webpack webpack-cli --save-dev
npm install seafile-js --save
npx webpack

This repository use gitflow.

Publish the code to thunderbird

After npm dependencies has been installed, you can generate the zip file that will be send to the Thunderbird team with the following commands:

bash publish.sh

You need to execute the publish.sh file in the root folder of this project. A zip file will be generated in the parent folder.

Code quality

Install first js-beautify and jshint with npm. Then you can check the code.

npm install js-beautify jshint --save-dev
# run js-beautify
js-beautify.js -r src/*.js
js-beautify.js -r *.js
js-beautify.js -r *.html
# run jshint
jshint src/*.js

seafile-thunderbird-filelink's People

Contributors

bastiencyr avatar

Stargazers

 avatar  avatar Gonçalo Giga avatar

Watchers

 avatar

seafile-thunderbird-filelink's Issues

Support version 6 and bellow of seafile server

Hallo,

I've succesfully installed the FileLink PlugIn in TB v102.9.1, typed in my userdata & seafile location and saved this. However, when I open a new email, move an attachment to the windows and try to upload it via the seafile2 plugin to my seafile server I receive this error message:

"an unknown error occurred while exchanging data with Seafile"

The attachment is not uploaded to the Seafile server, no link is presented in the email.

I have to confess that I still use the last available windows version for Seafile server. The error message appear if I go directly via ‘http’ and port 8000 or by using a ‘https’ reverse proxy server (IIS). Thunderbird & Seafile server are running on different machines in my local network.

As an alternative I have Nextcloud installed in a VM and the corresponding filelink plugin works fine.

Greetings & again thanks for your work on the plugin!

Hannes

Hide password

The password is not hidden when the user click on save.
The password must be hidden when the user press the save button and removed when the user press the edit button.

Code quality

Documentation :

  • Add doc for beautify-js
  • Add doc for jshint
  • Add comments in initial code

Migration:

  • Use class in initial code
  • Use es8 async/await syntax

password storage

Great work ... this plugin was really missing for years !

Work fine with TB 102.13.0 & seafile ce 10.0.1.

Just I m not very confident with the storage of the clear text password in the local storage of the plugin. Would it be possible to use TB password manager ?

Thanks for this plugin anyway

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.