kreismann
be87eeddbd
Creating only one image for deskshare
...
So we can retrieve deskshare history. Still need to adapt the size of annotations on different deskshare resolutions.
2016-12-02 17:40:50 -02:00
kreismann
6aeabb9293
Correctly handling multiple deskshare events inside a slide interval of time
2016-12-02 15:34:49 -02:00
kreismann
fe9fde2330
Getting flv resolution to set deskshare image and pan/zoom dimensions
2016-11-30 16:31:19 -02:00
kreismann
e27c291ee0
Recording playback shows whiteboard annotations on deskshare video as well
...
Pending issues:
- Image and ViewBox sizes are hardcoded (1280x720 - a full screen deskshare video). In order to work with region deskshare videos, we must get the flvs resolutions and set shapes.svg and panzooms accordingly.
- We're not considering the deskshare annotations history yet
2016-11-29 15:08:28 -02:00
kreismann
73603d5d68
Presentation area of the recording playback also shows deskshare video
...
This is a demo. Some issues:
- When sharing desktop, cursor is still relative to slides, and not to deskshare video;
- Need to show whiteboard canvas on top of deskshare video as well;
- Need more testing (audio/video sync, playback perfomance, multiple presenters and multiple deskshare events).
2016-10-20 17:39:35 -02:00
Felipe Cecagno
79c3c12256
Merge branch 'merge-presentation-deskshare' into mconf
...
Conflicts:
bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopViewWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/PresentationWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/views/WhiteboardToolbar.mxml
record-and-playback/presentation/playback/presentation/0.9.0/lib/writing.js
2016-09-14 14:49:48 -03:00
kreismann
b961e197c5
Not showing annotation canvas while sharing desktop in recording
...
1. We create a deskshare.xml with start and stop timestamps of each deskshare event
2. We read it in playback e use its information to hide the annotation canvas and cursor accordingly
2016-09-09 18:31:27 -03:00
Pedro Beschorner Marin
4c432ee5bd
Merge branch 'feature-1931' into rafafp-branches-merged-1.0
...
Conflicts:
bigbluebutton-client/branding/default/style/css/BBBDefault.css
bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatBox.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatToolbar.mxml
record-and-playback/presentation/scripts/publish/presentation.rb
2016-06-22 13:06:51 +00:00
Felipe Cecagno
c818cd154b
Merge remote-tracking branch 'bigbluebutton/master' into mconf
2016-03-09 12:05:32 -03:00
Calvin Walton
0f9b36bc11
recording: Escape custom poll answers in gnuplot file
...
Custom poll answers were previously printed into the gnuplot control
file directly, between double-quotes. As a result, if a poll answer
contains a double-quote, it could cause a syntax error in the gnuplot
script, or worse.
Gnuplot accepts standard C-style double-quoted string escapes, so I can
just use ruby's "inspect" method to generate a safetly escaped string.
Note that within the string, % still has to be escaped separately
(doubled) to avoid issues with the string formatting. As well, I have
disabled "enhanced" mode which allows using special characters for
formatting commands.
Fixes #3039
2016-03-07 11:26:17 -05:00
Felipe Cecagno
bbcfe1f34a
Merge remote-tracking branch 'bigbluebutton/master' into mconf
...
Conflicts:
bigbluebutton-html5/app/client/globals.js
bigbluebutton-html5/app/client/main.html
bigbluebutton-html5/app/client/views/whiteboard/whiteboard.html
2016-03-04 20:19:55 -03:00
RafaFP
89ac2fd60a
Improved the code to meet the peer review results.
...
refs #1931
2016-03-04 17:40:48 +00:00
Calvin Walton
3a3d349553
recording: Restore the $meeting_start/end global variables
...
These were commented out, apparently by accident, when the metadata code
was being refactored. The effect was that the $meeting_end variable was
treated as if it had a value of zero, meaning that the last slide had a
start time of some positive number and an end time of zero. As a result,
it was never shown (and didn't get any shapes either).
Fixes #3021
2016-03-03 11:27:28 -05:00
RafaFP
932de9c07f
Updated class and method names to better correspond to the implemented function.
...
Improved the recording code.
refs #1931
2016-03-02 16:02:30 +00:00
Felipe Cecagno
e4da408c08
Merge branch 'mconf' into bigbluebutton/bigbluebutton@master
...
Conflicts:
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/UsersApp.scala
bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/service/PresentationService.java
bigbluebutton-client/locale/en_US/bbbResources.properties
bigbluebutton-client/resources/prod/bbb-deskshare-applet-0.9.0.jar
bigbluebutton-client/resources/prod/bbb-deskshare-applet-unsigned-0.9.0.jar
bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/layout/services/MessageReceiver.as
bigbluebutton-client/src/org/bigbluebutton/modules/users/views/StatusItemRenderer.mxml
bigbluebutton-config/web/index.html
bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy
bigbluebutton-web/src/groovy/org/bigbluebutton/api/RecordingServiceHelperImp.groovy
bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java
bigbluebutton-web/src/java/org/bigbluebutton/api/ParamsProcessorUtil.java
bigbluebutton-web/src/java/org/bigbluebutton/api/RecordingService.java
bigbluebutton-web/src/java/org/bigbluebutton/api/RecordingServiceHelper.java
bigbluebutton-web/src/java/org/bigbluebutton/api/domain/Recording.java
bigbluebutton-web/web-app/WEB-INF/freemarker/get-recordings.ftl
record-and-playback/presentation/playback/presentation/0.9.0/playback.html
record-and-playback/presentation/scripts/publish/presentation.rb
2016-03-02 01:19:09 -03:00
RafaFP
32f937def8
Implemented the clearing of text in the recordings player.
...
Recordings will now clear the chat box for every clear command received during the recording.
refs #1931
2016-02-26 21:18:14 +00:00
jfederico
503b748b22
record-and-playback: Placed code for producing the initial metadata.xml file at the top
2016-02-12 12:08:33 -05:00
jfederico
0c2eaf5f11
record-and-playback: Fixed bug in original state of recordings.
2016-02-09 17:26:29 -05:00
jfederico
c9abb24a06
record-and-playback: Formatted xml produced for metadata.xml after adding playback
2016-01-28 10:13:45 -05:00
jfederico
983e58922e
record-and-playback: metadata.xml is generated by process script instead of publish
2016-01-26 17:16:28 -05:00
jfederico
1204ae9f2a
recording-and-playback: Added initial metadata.xml as part of the processing
2016-01-26 14:25:02 -05:00
jfederico
8e3c0ea983
recording-and-playback: Changed initial state on recording metadata.xml to published
2016-01-19 14:53:33 -05:00
jfederico
8bc75ab2f6
recording-and-playback: Converted tabs to spaces on presentation/scripts/* and core/scripts/*
...
Signed-off-by: jfederico <jesus@123it.ca>
2016-01-19 14:52:28 -05:00
Felipe Cecagno
8f08e13dcc
Merge remote-tracking branch 'bigbluebutton/master' into mconf
...
Conflicts:
bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/client/messaging/ConnectionInvokerService.java
bigbluebutton-client/locale/pt_BR/bbbResources.properties
bigbluebutton-client/resources/prod/lib/bbb_webrtc_bridge_sip.js
2015-12-30 18:35:13 -02:00
Felipe Cecagno
555e037d79
fix merge and refactor a few pieces to fit better on BigBlueButton 1.0.0
2015-11-30 01:06:38 -02:00
Pedro Beschorner Marin
36bbcc06d6
Merge remote-tracking branch 'mconf/mconf-live0.7.3' into mconf-live0.7.3-merge
...
Conflicts:
akka-bbb-apps/src/main/java/org/bigbluebutton/core/api/IBigBlueButtonInGW.java
akka-bbb-apps/src/main/java/org/bigbluebutton/core/pubsub/receivers/ConversionUpdatesProcessor.java
akka-bbb-apps/src/main/java/org/bigbluebutton/core/pubsub/receivers/MeetingMessageReceiver.java
akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/PesentationMessageToJsonConverter.scala
bbb-common-message/src/main/java/org/bigbluebutton/common/messages/Constants.java
bbb-video/.classpath
bbb-video/build.gradle
bbb-video/src/main/java/org/bigbluebutton/app/video/VideoApplication.java
bbb-video/src/main/webapp/WEB-INF/red5-web.xml
bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/meeting/messaging/red5/ConnectionInvokerService.java
bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsApplication.java
bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/participants/ParticipantsListener.java
bigbluebutton-apps/src/main/java/org/bigbluebutton/conference/service/presentation/PresentationMessageListener.java
bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/BigBlueButtonApplication.java
bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/service/ParticipantsService.java
bigbluebutton-apps/src/main/java/org/bigbluebutton/red5/service/PresentationApplication.java
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/BigBlueButtonInGW.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/CollectorActor.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/MeetingActor.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/api/Constants.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/api/InMessages.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/api/MessageNames.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/api/OutMessages.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/api/ValueObjects.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/layout/LayoutApp.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/presentation/PresentationModel.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/presentation/red5/PresentationClientMessageSender.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/UsersApp.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/UsersModel.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/red5/UsersClientMessageSender.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/redis/UsersEventRedisPublisher.scala
bigbluebutton-apps/src/main/scala/org/bigbluebutton/core/apps/users/redis/UsersMessageToJsonConverter.scala
bigbluebutton-apps/src/main/webapp/WEB-INF/red5-web.xml
bigbluebutton-client/branding/default/style/css/BBBDefault.css
bigbluebutton-client/locale/en_US/bbbResources.properties
bigbluebutton-client/locale/es_LA/bbbResources.properties
bigbluebutton-client/resources/config.xml.template
bigbluebutton-client/resources/prod/MconfLive.html
bigbluebutton-client/resources/prod/bbb-deskshare-applet-0.9.0.jar
bigbluebutton-client/resources/prod/bbb-deskshare-applet-unsigned-0.9.0.jar
bigbluebutton-client/src/BigBlueButton.mxml
bigbluebutton-client/src/SharedNotesModule.mxml
bigbluebutton-client/src/org/bigbluebutton/common/Images.as
bigbluebutton-client/src/org/bigbluebutton/core/managers/ReconnectionManager.as
bigbluebutton-client/src/org/bigbluebutton/core/model/Config.as
bigbluebutton-client/src/org/bigbluebutton/core/services/BandwidthMonitor.as
bigbluebutton-client/src/org/bigbluebutton/core/services/StreamMonitor.as
bigbluebutton-client/src/org/bigbluebutton/main/api/ExternalApiCallbacks.as
bigbluebutton-client/src/org/bigbluebutton/main/model/NetworkStatsData.as
bigbluebutton-client/src/org/bigbluebutton/main/model/modules/ModulesDispatcher.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/BBBUser.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/Conference.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/NetConnectionDelegate.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/UserService.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/events/ChangeMyRole.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/events/ChangeRoleEvent.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/events/LowerHandEvent.as
bigbluebutton-client/src/org/bigbluebutton/main/model/users/events/StreamStoppedEvent.as
bigbluebutton-client/src/org/bigbluebutton/main/views/CameraDisplaySettings.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/LanguageSelector.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/LoggedOutWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/MainApplicationShell.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/MainToolbar.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/MuteMeButton.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/NetworkStatsWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/RecordButton.mxml
bigbluebutton-client/src/org/bigbluebutton/main/views/WebRTCEchoTest.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/AddChatTabBox.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatBox.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatView.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/services/red5/Connection.as
bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopViewWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/layout/managers/LayoutManager.as
bigbluebutton-client/src/org/bigbluebutton/modules/layout/maps/LayoutEventMapDelegate.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/layout/model/LayoutDefinition.as
bigbluebutton-client/src/org/bigbluebutton/modules/layout/model/WindowLayout.as
bigbluebutton-client/src/org/bigbluebutton/modules/layout/views/AddButton.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/layout/views/LayoutsCombo.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/layout/views/ToolbarComponent.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/ConnectionManager.as
bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/FlashCallManager.as
bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/WebRTCCallManager.as
bigbluebutton-client/src/org/bigbluebutton/modules/phone/views/components/ToolbarButton.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/present/managers/PresentManager.as
bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/PresentationWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/UploadedPresentationRenderer.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/sharednotes/infrastructure/Client.as
bigbluebutton-client/src/org/bigbluebutton/modules/sharednotes/infrastructure/HTTPServerConnection.as
bigbluebutton-client/src/org/bigbluebutton/modules/sharednotes/infrastructure/ServerConnection.as
bigbluebutton-client/src/org/bigbluebutton/modules/sharednotes/infrastructure/XMLServerConnection.as
bigbluebutton-client/src/org/bigbluebutton/modules/users/maps/UsersMainEventMap.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageReceiver.as
bigbluebutton-client/src/org/bigbluebutton/modules/users/services/MessageSender.as
bigbluebutton-client/src/org/bigbluebutton/modules/users/views/StatusItemRenderer.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/users/views/UsersWindow.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/business/VideoProxy.as
bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/maps/VideoEventMap.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/maps/VideoEventMapDelegate.as
bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/GraphicsWrapper.as
bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/ToolbarPopupButton.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/VideoDock.mxml
bigbluebutton-client/src/org/bigbluebutton/modules/whiteboard/views/WhiteboardToolbar.mxml
bigbluebutton-client/src/org/bigbluebutton/util/i18n/ResourceUtil.as
bigbluebutton-config/bigbluebutton-release
bigbluebutton-config/bin/bbb-conf
bigbluebutton-config/web/index.html
bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy
bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/PresentationController.groovy
bigbluebutton-web/src/groovy/org/bigbluebutton/api/RecordingServiceHelperImp.groovy
bigbluebutton-web/src/java/org/bigbluebutton/api/MeetingService.java
bigbluebutton-web/src/java/org/bigbluebutton/api/messaging/MeetingMessageHandler.java
bigbluebutton-web/src/java/org/bigbluebutton/api/messaging/MessagingService.java
bigbluebutton-web/src/java/org/bigbluebutton/api/messaging/RedisStorageService.java
bigbluebutton-web/src/java/org/bigbluebutton/presentation/imp/Pdf2SwfPageConverter.java
2015-11-25 15:58:36 +00:00
Calvin Walton
fc299487e4
recording: Allow configuring recording metadata to use https
...
This allows configuring a server to use https without having to edit
any ruby files directly.
(Ideally, the metadata files wouldn't include the server name/protocol
at all; that should be set dynamically by bbb-web, but this is what we
have for now.)
2015-11-06 11:49:36 -05:00
Felipe Cecagno
32957898f6
refactored part of the bbb-0.9-recording-size code in order to include the size on the download size for mconf_encrypted and the playback size for the others; included raw_size for all available formats
2015-09-08 17:18:02 -03:00
Calvin Walton
cc23f30c2b
Fix poll in recording when there are 0 responders
...
There were a couple of problems:
* A division by 0 when calculating the percentages
* Positioning of the number of results counter was incorrect
Fixes #2739
2015-08-24 14:42:31 -04:00
Calvin Walton
e3e0f0ef61
Add poll result display to the 'presentation' recording format
...
Note that this requires a new dependency be added to the
"bbb-playback-presentation" format; the "gnuplot" package is now
required (it's used to actually generate the chart images)
2015-08-11 14:55:59 -04:00
Pedro Beschorner Marin
cbfe8b8859
Added an update script for sizes injection in old recordings metadata and some refactoring
2015-06-10 17:07:11 +00:00
Pedro Beschorner Marin
f8ff4a6725
Injecting format size in metadata.xml
2015-06-09 21:06:57 +00:00
Pedro Beschorner Marin
6ef2bf6b27
Getting playback and full meeting published sizes
2015-06-09 14:39:35 +00:00
Pedro Beschorner Marin
4225a87abd
Refactoring and cleanup
2015-06-04 16:03:20 +00:00
Pedro Beschorner Marin
a1a7096c3e
Getting the raw size of the meeting data
2015-06-03 15:19:41 +00:00
Pedro Beschorner Marin
cc55e6f6a4
Adding new attributes to bbb-web
2015-06-02 18:58:11 +00:00
Calvin Walton
301665a35b
Fix off-by-one error in slide clear events
...
In 0.9.0, the slide clear events changed from using 1-based page numbers to
using 0-based page numbers.
Add 1 to the page number for recordings generated on a 0.9.0+ server to
fix the issue; at this point it's too late in the release to change the value,
and there's too big of a body of existing recordings out there.
2015-04-14 17:33:49 -04:00
Calvin Walton
8673d353bb
Use the directory presentation/0.9.0 instead of presentation2
...
This makes it a bit more obvious how the versioning can work going
forwards, and makes it so that we do not need to update the nginx
config each time we have a new version of the playback files.
The 0.81 files remain at the top level of the presentation directory
for compatibility reasons.
2014-10-06 16:46:55 -04:00
Calvin Walton
852ea7b822
Revert 'presentation' dir to 0.81 code, add 'presentation2' for 0.9
...
This fixes an issue where recordings copied from a 0.81 server might
not play back correctly on a 0.9 server.
This changes the 0.9 recording scripts to use playback support files
from a different subdirectory, 'presentation2', while existing 0.81
recordings continue to use the 'presentation' directory.
If the raw files from an old recording are reprocessed, it will
switch to using the newer playback support files.
2014-10-06 16:15:25 -04:00
Calvin Walton
72fc36caef
Actually fix slide indexes.
...
While the page numbers from BigBlueButton are zero-based, the slide images
are generated as 1-based.
2014-09-09 17:15:57 -04:00
Calvin Walton
c7967810b2
Revert the presentation publish page index altering
...
This was added because BigBlueButton 0.9 started using 1-based page
numbers in the events.xml file. That change has been reverted, so as
to avoid behaviour changes from 0.81 in places where it's unnecessary.
2014-09-02 15:46:52 -04:00
Calvin Walton
15fe621523
Use the timestamp from the meeting ID to calculate the real start time
...
With the switch to a different clock source in red5, the timestamps
in the events file are no longer real-time, but are rather in
seconds since computer boot.
The timestamp in the meeting id is still realtime, so use that as
the start time. Calculate the end time by adding the meeting length
to the start time.
2014-08-29 11:19:59 -04:00
Gustavo Salazar
fb013e751f
support bbb_version in events.xml
2014-05-06 14:42:03 -05:00
Gustavo Salazar
7d291abcfd
delete old raw dir from published recordings
2014-04-14 15:14:14 -07:00
Richard Alam
460dfb52bf
- modify scripts so we can run it manually
2014-04-03 20:23:49 +00:00
Gustavo Salazar
8a32c657d5
Handle negative index in slide number.
...
Related to issue #1710
2014-01-23 16:36:28 -05:00
Felipe Cecagno
3440ed0fe3
Merge branch 'v0.81' into record-button
...
Conflicts:
bigbluebutton-client/branding/default/style/css/BBBDefault.css
bigbluebutton-client/src/org/bigbluebutton/main/views/MainToolbar.mxml
2014-01-14 14:05:41 -02:00
Felipe Cecagno
dab7547014
added a check on presentation publish script to avoid the duplication of thumbnails for a given slide
2013-12-02 15:23:02 -02:00
Felipe Cecagno
955f9edc99
fixing the issue of the whiteboard annotations not being shown in the proper slide; cleaning the environment (events.xml, recorded flag) when the session was recorded but the record button wasn't used
2013-12-02 13:57:05 -02:00
Calvin Walton
1d488e3c56
Last-ditch fix for missing presentation images
...
We can only get here if all of the files for the presentation are
*completely* missing. One thing that can cause this is if the
presentation filename starts with a '.' character - the presentation
files aren't correctly archived then.
2013-10-31 18:56:09 -02:00