Giter Site home page Giter Site logo

teicee / freeipa-widget-picture Goto Github PK

View Code? Open in Web Editor NEW
8.0 2.0 2.0 27 KB

Javascript plugin for FreeIPA adding a picture widget with preview and file uploader (usefull to manage user avatars in jpegphoto ldap attributes)

License: GNU Affero General Public License v3.0

Shell 27.78% JavaScript 62.96% Python 9.26%
freeipa freeipa-plugin freeipa-server widget avatar picture webui upload-pictures upload-images

freeipa-widget-picture's Introduction

FreeIPA extensions : Widget Picture with User JpegPhoto plugins

Introduction

On a FreeIPA directory, you can have some attributes to store images. Typically the jpegphoto attribute can be used for the user avatars.

But the webUI doesn't have a widget designed for this type of binary element... By default you can only use a textarea widget to edit the base64 encoded data.

The FreeIPA web interface is written with a Javascript framework that can be extended by plugins to provide some additional elements.

How it works

The file widget_picture.js define a new type of widget for the FreeIPA webUI.

It is designed to work with attributes containing binary data of a picture (Jpeg, PNG...).

If offers a suitable interface to edit image with:

  • An image HTML tag to display the current data (read-only mode or preview for edit)
  • An file input HTML tag to select a local image file to upload into the attribute

Installation

You can use the shell script ./ipa-plugins-installer.sh to install the FreeIPA plugins.

If you only want to install the Javascript widget to manage picture fields in the UI:

./ipa-plugins-installer.sh widget_picture --reload

Or if you want to install all plugins provided, including the use of the jpegphoto attribute on users:

./ipa-plugins-installer.sh --all --reload

Note: the plugins are developed, tested and used with FreeIPA version 4.8 and 4.10.

License

See the LICENSE file for license rights and limitations (AGPL).

freeipa-widget-picture's People

Contributors

proxyconcept avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

dmiyyy sjay3

freeipa-widget-picture's Issues

Unable to display the picture

FreeIPA v4.10.1

The avatar image no longer shows in the FreeIPA UI, instead the alt text is shown "[ unable to display the picture ]". It's unlikely to be a permissions issue as if the default IPA admin user sets the avatar the same error is displayed after saving user settings.

If I access the URL for the image the browser shows what looks like base64 code (it shows the text string, not the image). The html element in question is:

<img name="jpegphoto" style="max-height: 240px; opacity: 1;" class="form-control-static img-thumbnail" alt="[ unable to display the picture ]" src="blob:https://ipa1.domain.com/5418beca-bb02-4d39-a081-3b8387e3400c">

Password migration broken

By inserting scripts for profile photos, the password migration page no longer works; a blank page is shown.
It is necessary to temporarily remove the user_jpegphoto.js file from the path /usr/share/ipa/ui/js/plugins/user_jpegphoto for it to work again. I'm using FreeIPA v4.9.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.