Changes

From Amahi Wiki
Jump to: navigation, search
no edit summary
== GUI and UX ==
==Plugin System=Better Theming===Make the ability to create and install Amahi plugins easy and enable the creation of those plugins for a variety of purposes, like SMART monitoring, system stuff (network scanning, etc.) and the two examples below for the disk wizard and the Greyhole UI, among other ideas.
'''ObjectiveDescription''': Create an amahi plugin systemOur theming is pretty good, where PHPhowever, Python, Node, and other modern webapps can be easily integrated. We can currently do this with some RoR engines, but the mechanism is not robust enoughit's very customized.
'''Expected resultObjective''': Happier users. The idea is to have an automated configuration. It should test the current network settings against the expected settings. In case of inconsistencies it should offer the user solutions with very little interaction.
The plugins system should allow modern web-based apps to be easily integrated with Amahi -- from Node.js apps to Ruby/PHP/Python -- so that users can easily reap the benefits of the onslaught of difficult-to-deploy modern web apps with a single click install.ProTip'''Skills Required''': possibly leverage docker containers within AmahiRoR, scripting, netflow capture, dhcping scripting
'''Skills Required'''* RoR'''MentorMentors''': Daniel, Carlos
==Disk Wizard=User Onboarding==='''Description'''
Expanding the storage capacity is an important feature of Amahi but as of now it requires advanced (e.g. command line) skills. We want easy disk/partition onboarding.Also add the ability to be asked to mount USB drives as a share when they're connected & connect external shares from ''Description''': Improved workflow for example a NAS users to come up with the plugin system using that wizard.their HDA running
'''Objective''': Happier users. The idea is to have an automated configuration. It should test the current network settings against the expected settings. In case of inconsistencies it should offer the user solutions with very little interaction.
Create an amahi plugin that will streamline this process by providing a UI for disk management'''Skills Required''': RoR, scripting, netflow capture, dhcping scripting
'''Expected resultMentors''': Daniel, Carlos
The plugins should detect if a new disk was added and it should provide a wizard to create partitions and format with the desired file system.USB Drives should be detected and the plugin should ask if the drive should be mounted and added as a share.Plugin should include the ui to simply mount NFS/SMB shares from remote computers/servers. == Platform ==
'''Skills Required'''* Low level system scripting===Plugin System===
'''MentorDescription''': Make the ability to create and install Amahi plugins easy and enable the creation of those plugins for a variety of purposes, like SMART monitoring, system stuff (network scanning, etc.) and the two examples below for the disk wizard and the Greyhole UI, among other ideas.
* Dag'''Objective''': Create an amahi plugin system, Bogdanwhere PHP, Python, Node, and other modern webapps can be easily integrated. We can currently do this with some RoR engines, but the mechanism is not robust enough. The plugins system should allow modern web-based apps to be easily integrated with Amahi -- from Node.js apps to Ruby/PHP/Python -- so that users can easily reap the benefits of the onslaught of difficult-to-deploy modern web apps with a single click install.ProTip: possibly leverage docker containers within Amahi
'''ReferencesSkills Required'''<br />* [http://www.openmediavault.org/ OpenMediaVault]RoR
==Greyhole UI=='''DescriptionMentors''': Carlos, Rod
Greyhole is an application that uses Samba to create a storage pool of all your available hard drives (whatever their size, however they're connected), and allows you to create redundant copies of the files you store, in order to prevent data loss when part of your hardware fails.===Disk Wizard===
'''ObjectiveDescription''': Expanding the storage capacity is an important feature of Amahi but as of now it requires advanced (e.g. command line) skills. We want easy disk/partition onboarding. Create and amahi Also add the ability to be asked to mount USB drives as a share when they're connected & connect external shares from for example a NAS with the plugin system using that provides an UI that allows for the management of the greyhole poolwizard.
'''Expected resultObjective''': Create an amahi plugin that will streamline this process by providing a UI for disk management. The plugin should detect if a new disk was added and it should provide a wizard to create partitions and format with the desired file system
The plugin should allow an administrator user to'''Skills Required''':add/remove disks to/from the pool.*change the number of copies for individual file/directory*invoke various gh commands*view and monitor log files*gui to visualize data distributionLow level system scripting
'''Mentors''': Dag, Bogdan
'''Skills RequiredReferences''':* RoR, System programing[http://www.openmediavault.org/ OpenMediaVault] does have a nice wizard that people like
'''Mentor'''===Greyhole UI===
==User Onboarding=='''Description''': Greyhole is an application that uses Samba to create a storage pool of all your available hard drives (whatever their size, however they're connected), and allows you to create redundant copies of the files you store, in order to prevent data loss when part of your hardware fails. The purpose of this plugin is to provide a UI and the necessary tools under the UI to make starting and managing a Greyhole UI possible and nice to understand for regular humans.
Improved workflow for users to come up with their HDA running '''Objective''': Create and amahi plugin that provides an UI that allows for the management of the greyhole pool. The plugin should allow an administrator user to:Happier usersadd/remove disks to/from the pool.* change the number of copies for individual file/directory* invoke various gh commands* view and monitor log files* gui to visualize data distribution
'''Expected resultSkills Required'''Have an automated unit test. It should test the current network settings against the expected settings.In case of inconsistencies it should offer the user solutions with very little interaction. : RoR, System programing
'''Skills RequiredMentors'''* RoR: Carlos, scripting, netflow capture, dhcping scriptingRod
'''Mentor'''* Daniel, Carlos===Backup app data/settings===
==Backup app data/settings=='''Description''' : An important drawback of Amahi is the inability that it's hard to backup the installed applications and their user data '''Objective'''
'''Objective''': The plugin should allow an administrator to backup any application data either on an external media or in the cloud(e.g.: Dropbox, Google Drive, etc).The restore process should check if the application is installed on the HDA and if not it should be automatically installed from the AppStore before the user data is restored.
*Create an amahi plugin that will allow backup and restore of the user data for apps installed from the AppStore
*Centralising app data/configs - link them to app folder instead.
*Ability to list, outline data directories for backups/upgrade check
'''Skills Required''': System scripting
'''Expected resultMentor''': Rod, Daniel
The plugin should allow an administrator to backup any application data either on an external media == Apps or in the cloud(e.g.: Dropbox, Google Drive, etc).The restore process should check if the application is installed on the HDA and if not it should be automatically installed from the AppStore before the user data is restored.App related==
'''Skills Required'''* System scripting===Caching Server===
'''Description''': a caching proxy to save on bandwidth
'''Mentor'''* Rod ==Caching Server=='''Description''' '''Objective''' : Develop and plugin that will allow an administrator user to control the traffic for specific devices inside the network '''Expected result''' The . This app (or possibly a plugin ) should display all the connected device as well as provide the ability to search by name/MAC address. For a selected device the administrator should:
*Limit access between certain time intervals
*Limit bandwidth
*Limit traffic
'''Skills Required'''* Squid: system configuration and scripting
'''MentorMentors'''* Carlos, ": Daniel, Jesse
===Network Groups=='''Description'''=
'''ObjectiveDescription''': Develop a plugin to allow network device grouping. This will be the framework for future plugins. '''Objective''': Allow an administrator to group network devices in groups with different permissions. Limit the user access to certain apps based on the group settings. '''Skills Required''': RoR, system programming
'''Expected resultMentors'''Allow an administrator to group network devices in groups with different permissions.Limit the user access to certain apps based on the group settings.'''Skills Required'''* RoR: Jesse, system programmingDaniel
'''Mentor'''* Jesse, Daniel==Mobile==
===Mobile App Awesomization (iOS)=='''Description'''=
'''ObjectiveDescription''': Take the iOS app to a whole new level of usability and popularity. The goal is to make the mobile really polished and fast, as well as a pleasure to use.
Take the iOS app to a whole new level of usability and popularity by adding '''Objective''': Add really useful featuresto the app, like
*algorithmically detect image-heavy folders on the fly and offer to display them as a gallery view
*similarly with on-the-fly music folders
'''Expected result''' The mobile app will become really polished and fast, as well as a pleasure to use. '''Skills Required'''  : Objective-C/Cocoa
'''MentorMentors''' : Jesse, Carlos
Jesse, Carlos===Mobile App Implementation (Android)===
==Mobile App Implementation (Android)=='''Description''': We have great demand for an Android app thanks to the popularity of our iOS app. Our users want us to make an Amahi Android app to support login, browsing and streaming of Amahi servers.
'''Objective'''
We have great demand for an Android app thanks to the popularity of our iOS app. Our users want us to make an Amahi Android app to support login, browsing and streaming of Amahi servers.
'''Expected result'''
Trusted, Bots, Bureaucrats, emailconfirmed, Administrators
4,146

edits