Skip to content

Commit 395a7ac

Browse files
committed
adopt Readme to new features
1 parent c0e1f8e commit 395a7ac

File tree

1 file changed

+52
-8
lines changed

1 file changed

+52
-8
lines changed

README-Finder.md

Lines changed: 52 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,10 @@ The "Finder" branch of django-filer has less third-party dependencies. It does n
2222

2323
For 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+
102107
In `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.
119124
If you use `finder.contrib.image.pil`, assure that `Pillow` is installed.
120125
If you use `finder.contrib.image.svg`, assure that `reportlab` and `svglib` are installed.
121126
If you use `finder.contrib.video`, assure that `ffmpeg-python` is installed.
@@ -128,8 +133,8 @@ python manage.py migrate finder
128133
```
129134

130135
If 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
135140
python manage.py filer_to_finder
@@ -159,10 +164,49 @@ http://localhost:8000/admin/finder/foldermodel/ . Clicking on that link will red
159164
root 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

Comments
 (0)