@@ -22,8 +22,10 @@ The "Finder" branch of django-filer has less third-party dependencies. It does n
2222
2323For large datasets [ django-cte] ( https://github.com/dimagi/django-cte ) is reccomended, in order to improve the speed when searching.
2424
25- The client part of the new admin user interface has no runtime dependencies. It is compiled into a
26- single JavaScript file, which is included by the corresponding admin views.
25+ The client part of the new admin user interface has no runtime dependencies. It is compiled into two
26+ JavaScript files, which are included by the corresponding admin views. One of them is used for the
27+ django-admin interface, the other one for the frontend. The frontend part is also used for the new
28+ file selection widget.
2729
2830
2931## Extensibility
@@ -99,6 +101,9 @@ The new user interface is based on the [React](https://reactjs.org/) framework w
99101
100102## Installation
101103
104+ The new version of ** django-filer** requires Django-5.2 or later. Since this currently is not
105+ released, you have to install the current development version of Django from GitHub.
106+
102107In ` settings.py ` of your project, add these extra dependencies or those one you really need:
103108
104109``` python
@@ -115,7 +120,7 @@ In `settings.py` of your project, add these extra dependencies or those one you
115120 ]
116121```
117122
118- If you use ` finder.contrib.audio ` , assure that ` pydub ` is installed.
123+ If you use ` finder.contrib.audio ` , assure that ` ffmpeg-python ` is installed.
119124If you use ` finder.contrib.image.pil ` , assure that ` Pillow ` is installed.
120125If you use ` finder.contrib.image.svg ` , assure that ` reportlab ` and ` svglib ` are installed.
121126If you use ` finder.contrib.video ` , assure that ` ffmpeg-python ` is installed.
@@ -128,8 +133,8 @@ python manage.py migrate finder
128133```
129134
130135If you already have ** django-filer** installed and that database is filled, you can migrate the
131- meta-data of those files and folders into the new database tables. The pysical files on disk are not
132- affected by this migration.
136+ meta-data of those files and folders into the new database tables. The physical files on disk are
137+ not affected by this migration.
133138
134139``` shell
135140python manage.py filer_to_finder
@@ -159,10 +164,49 @@ http://localhost:8000/admin/finder/foldermodel/ . Clicking on that link will red
159164root folder of the current site.
160165
161166
162- ## Limitations
167+ ## Admin Backend
168+
169+ The admin backend is implemented as a web interface mimicking the features of the Finder app of your
170+ operating system's graphical user interface. It is possible to …
171+
172+ * Download, upload files and to view them as thumbnailed images.
173+ * Navigate through the folder tree by double-clicking on a folder.
174+ * Move files and folders by drag and drop.
175+ * Select multiple files and folders by a rectangular selection with the mouse.
176+ * Cut or copy files and folders to a clipboard and paste them into another folder.
177+ * Delete files and folders, which are moved to a trash folder.
178+ * Restore files and folders from the trash folder or to delete them permanently.
179+ * Create new folders and to upload files.
180+ * Rename files and folders by slowly double-clicking on their name.
181+ * Create multiple tabs for favourite folders quick access. They also can be used to drag files from
182+ the current view into one of the tabs.
183+ * Search for files and folders.
184+ * Tag files and filter them by their tags.
185+
186+
187+ ## Interface to external Django projects
188+
189+ ** django-filer** (Finder branch) ships with a new file selection field. This field can be used in
190+ any Django model. It allows to select a file from the files stored inside ** django-filer** . It also
191+ allows to upload a local file and use it immediatly.
192+
193+ Example:
194+
195+ ``` python
196+ from django.db import models
197+ from finder.models.fields import FinderFileField
198+
199+ class MyModel (models .Model ):
200+ my_file = FinderFileField(
201+ null = True ,
202+ blank = True ,
203+ )
204+ ```
163205
164- Currently only the admin backend is implemented. I am currently working on a file selection widget
165- which can be used in any frontend or backend application.
206+ Forms generated from this model will have a file selection widget for the ` my_file ` field. When
207+ rendered as HTML, this widget is the webcomponent ` <finder-file-select …></finder-file-select> `
208+ with a few additional attributes. The JavaScript part of the widget must be included using the
209+ script tag ` <script src="{% static 'finder/js/finder-select.js' %}"></script> ` .
166210
167211
168212## Further Steps
0 commit comments