About Project Agnes
Ok just some basic stuff first... This will absolutely be an open-source project with the specific license to be decided later (probably a form of L-GPL, I will defer to those who know more about it than I.
I will encourage forks of the project, but I definitely do not want any commercial derivatives.
The goal is to develop an application that provides data management functionality which initially matches those of
Windows/File Explorer but which extend to all types of data the user may need to manage regardless of location
and access protocol.
A design-concepts document can be found below which provides a more detailed look
at the intended path of development and ultimate goal as well as basic concepts
and terminology. I have kept it very brief because I encourage anyone who really wants to know what this project is about to review the design-concepts FIRST even before
looking at the screenshots so that they will make more sense.
Click here to go directly to latest screenshots
Want to know more about Project Agnes? Click here to send me an email (remove all Zs!).
WHY bother with yet-another Explorer clone? Features List (partial)
So WHY do this when there are countless Explorer clones out there, many of which have some impressive features of their own
and extend the existing Explorer paradigm? Because of that exact thing, they all operate from the same paradigm and it's broken.
They treat types of data differently and they impose unnecessary clutter and complexity.
So the WHY of this project is to demonstrate a completely different paradigm, and here are some of the initial features that are
planned to make that happen. Obviously this list will evolve as the project takes shape, but not the core concepts.
• Encompasses all standard Windows(File) Explorer functionality
• Allows user to control what data elements are displayed, eliminating unnecessary clutter
and allowing a more logical and intuitive organization of the data that is entirely controlled by the user
• Provides a unified and consistent presentation and management of various data types and locations
• Gives absolute control over appearance and behavior of the application to the user
• Replaces out-dated and limited copy/paste paradigm with extensible user-managed bookmarks, tags and lists
• Provides advanced functionality via a scripting engine using run-time .NET assemblage of ANY language supported by the CLR
• Provides plug-in framework for extensibility of all major areas of functionality, most importantly "Data Providers"
which include the built-in local filesystem provider (NTFS, FAT, ext3/4 etc) as well as SFTP, Google Drive & OneDrive, etc..
• Application Run State persisted completely; no user interaction required
Here are the design goals
• ALL data can be managed regardless of 1: location 2: type of data 3: technology used to access the data
• ALL data is managed in the SAME WAY
• Appearance & Behavior 100% separate from code, easily modified
• Built-in Windows Explorer available
• New data sources & types can be added later using plug-in technology
You really don't need to know all the finer points of these elements in order to use Agnes,
but it helps to know what they are and how they relate. These are listed in parent->child form so the Agnes "application" is the root of a tree
and contains a collection of "WorkGroups" and so on....
• WorkGroup - A related collection of WorkSpaces, like a Project or a Client
See the sidebar on the left in the screenshots
• WorkSpace - A related collection of DataSources, for example all documents for the parent WorkGroup
These are ordered logically by you, so you can have as many as you want and of any type of data
• DataSource - A single location where you have data, ie; C:\My Documents\ThisClient\Docs
A DataSource can be ANYWHERE and ANY TYPE of data
You can have as many DataSources as you want, organized into WorkSpaces however it makes sense
This is where the Windows C:\ and drive letter shit goes away - you give them names and descriptions and
they can link to ANY location whether on your computer or in the cloud, or in a database or in email
• DataItem - A single data element within a DataSource - File or Folder on local laptop,
Email message within an Inbox, Record in a database
A DataItem can be a single unit or a "container" ie; folder or email Inbox - something which contains OTHER DataItems
You really don't need to know the finer points such as this in order to use the app
• DataProvider - The underlying technology used to get data from one place to another using Agnes
I have created basic DataProviders such as "my local hard drive", and gmail, google drive, and local MS database
with the intention that other geeks could "plug in" other DataProviders (such as GPS) as needed
• DataStore - A DataProvider "connects" to a store of data directly, so a DataStore could be the hard drive in your laptop or
it could be the database you are using or it could be the name of the GMail inbox or folder on GoogleDrive
So a DataProvider that can talk to MS databases (which I have created) can have many actual databases,
so each database would be an Agnes "DataStore", or in GMail each email account you have would be a "DataStore"
Basic Object Hierarchy
App -->> Groups -->> WorkSpaces -->> DataSources -->> DataItems
The application window contains one or more Groups, which is a collection of WorkSpaces that display a collection of DataSources containing any number of DataItems using one or more UI components.
The above are what I consider the minimal basics to understand about how Agnes works,
but I'm adding another page with more screenshots and some info so that in case we do not connect later today
you can at least review these pages until we do connect. Notice the different appearances in newer screenshots, control over the look/feel is key for me I get bored easily!
Also I will try to put a screenshot in which shows you my personal "WorkGroup" which is a project of sorts! I am nothing if not a "work in progress"! LOL