This commit is contained in:
Markos Gogoulos 2025-05-23 11:32:38 +03:00
parent 301c4dbe9e
commit f39de968c8
5 changed files with 13 additions and 22 deletions

View File

@ -28,6 +28,7 @@ A demo is available at https://demo.mediacms.io
- **Multiple media types support**: video, audio, image, pdf - **Multiple media types support**: video, audio, image, pdf
- **Multiple media classification options**: categories, tags and custom - **Multiple media classification options**: categories, tags and custom
- **Multiple media sharing options**: social media share, videos embed code generation - **Multiple media sharing options**: social media share, videos embed code generation
- **Video Trimmer**: trim video, replace, save as new or create segments
- **Role-Based Access Control (RBAC)**: create RBAC categories and connect users to groups with view/edit access on their media - **Role-Based Access Control (RBAC)**: create RBAC categories and connect users to groups with view/edit access on their media
- **SAML support**: with ability to add mappings to system roles and groups - **SAML support**: with ability to add mappings to system roles and groups
- **Easy media searching**: enriched with live search functionality - **Easy media searching**: enriched with live search functionality

View File

@ -1 +1 @@
VERSION = "5.0.1" VERSION = "6.0.0"

View File

@ -1,4 +1,5 @@
#!/bin/bash #!/bin/bash
# This script builds the video editor package and deploys the frontend assets to the static directory.
# Exit on any error # Exit on any error
set -e set -e
@ -13,7 +14,7 @@ cd ../../
# Run npm build in the frontend container # Run npm build in the frontend container
echo "Building frontend assets..." echo "Building frontend assets..."
docker compose -f docker-compose/docker-compose-dev-updated.yaml exec frontend npm run dist docker compose -f docker-compose-dev.yaml exec frontend npm run dist
# Copy static assets to the static directory # Copy static assets to the static directory
echo "Copying static assets..." echo "Copying static assets..."
@ -21,6 +22,6 @@ cp -r frontend/dist/static/* static/
# Restart the web service # Restart the web service
echo "Restarting web service..." echo "Restarting web service..."
docker compose -f docker-compose/docker-compose-dev-updated.yaml restart web docker compose -f docker-compose-dev.yaml restart web
echo "Build and deployment completed successfully!" echo "Build and deployment completed successfully!"

View File

@ -11,6 +11,7 @@
- [Share media](#share-media) - [Share media](#share-media)
- [Embed media](#embed-media) - [Embed media](#embed-media)
- [Customize my profile options](#customize-my-profile-options) - [Customize my profile options](#customize-my-profile-options)
- [Trim videos](#trim-videos)
## Uploading media ## Uploading media
@ -257,3 +258,7 @@ How to use the embed media option
## Customize my profile options ## Customize my profile options
Customize profile and channel Customize profile and channel
## Trim videos
Once a video is uploaded, you can trim it to create a new video or to replace the original one. You can also create segments of the video, which will be available as separate videos. Edit the video and click on the "Trime Video" option. If the original video has finished processing (encodings are created for all resolutions), then this is an action that runs instantly. If the original video hasn't processed, which is the case when you upload a video and edit it right away, then the trim action will trigger processing of the video and will take some time to finish. In all cases, you get to see the original video (or the trimmed versions) immediately, so you are sure of what you have uploaded or trimmed, with a message that the video is being processed.

View File

@ -99,13 +99,6 @@ class MediaPublishForm(forms.ModelForm):
help_text="" help_text=""
) )
create_segments = forms.BooleanField(
required=False,
initial=False,
label="Create segments from video chapters",
help_text="If checked, separate media files will be created for each chapter"
)
class Meta: class Meta:
model = Media model = Media
fields = ( fields = (
@ -168,16 +161,6 @@ class MediaPublishForm(forms.ModelForm):
CustomField('allow_download'), CustomField('allow_download'),
) )
# Only add create_segments field if the media has chapters
if self.instance.media_type == 'video' and self.instance.chapters.exists():
self.fields['create_segments'] = forms.BooleanField(
required=False,
initial=False,
label="Create segments from video chapters",
help_text="If checked, separate media files will be created for each chapter"
)
self.helper.layout.append(CustomField('create_segments'))
self.helper.layout.append(FormActions(Submit('submit', 'Publish Media', css_class='primaryAction'))) self.helper.layout.append(FormActions(Submit('submit', 'Publish Media', css_class='primaryAction')))
def clean(self): def clean(self):
@ -192,6 +175,7 @@ class MediaPublishForm(forms.ModelForm):
# Make the confirm_state field visible and add it to the layout # Make the confirm_state field visible and add it to the layout
self.fields['confirm_state'].widget = forms.CheckboxInput() self.fields['confirm_state'].widget = forms.CheckboxInput()
# add it after the state field
state_index = None state_index = None
for i, layout_item in enumerate(self.helper.layout): for i, layout_item in enumerate(self.helper.layout):
if isinstance(layout_item, CustomField) and layout_item.fields[0] == 'state': if isinstance(layout_item, CustomField) and layout_item.fields[0] == 'state':