What module/file/folder should I take a look into to implement my feature?
Many thank for any of your suggestion
INFO org.bigbluebutton.api.MeetingService - Create meeting: data={"duration":0,"record":false,"name":"21291","des
cription":"Create meeting.","meetingId":"68679b4b6ade92602985b6adc6589fc1ab5e5223-1511767323771","externalMeetingId":"21291","isBreakout":fa
lse,"event":"create_meeting"}
You'd be looking in bigbluebutton-web and bbb-common-web for anything marked for "presentation". There's quite a few locations in both projects.
Could some one know where is the function which listing existing slide?
Many thanks for your help,
def getNumberOfPresentations() : Int =
{
presentations.size
}
24 if (liveMeeting.presModel.getNumberOfPresentations() <= 1) { //This object is not yet inited
26 MeetingActor.mettingId = liveMeeting.props.meetingProp.intId
28
29 var presentationData = new scala.collection.immutable.HashMap[String, Presentation]
30
31 val path = "<PATH_TO_SLIDE_FOLDER>/Preloaded/"
32 val rootUri = "http://<BBB_DOMAIN_OR_IP>/bigbluebutton/presentation/"
33
34 val d = new File(path)
35 val presentationsFiles = d.listFiles.filter(_.isDirectory).toList
36
37 log.warning("Openning folder " + path)
38
39 var notFoundCurrent: Boolean = true
40
41 for (f <- presentationsFiles) {
42
43 if (notFoundCurrent || !f.getName().startsWith("d2d9a672040fbde2a47a10bf6c37b6a4b5ae187f")) {
44 val d = new File(f.getAbsolutePath())
45 val pageFiles = d.listFiles.filter(_.isFile).toList
46
47 val pages = new collection.mutable.HashMap[String, PageVO]
48 var num = 1;
49 for (p <- pageFiles) {
50 if (p.getName().endsWith(".swf")) {
51 val thumbUri = rootUri + liveMeeting.props.meetingProp.intId + "/" + liveMeeting.props.meetingProp.intId + "/" + f.getName() + "/thumbnail/" + num
52 val swfUri = rootUri + liveMeeting.props.meetingProp.intId + "/" + liveMeeting.props.meetingProp.intId + "/" + f.getName() + "/slide/" + num
53 val txtUri = rootUri + liveMeeting.props.meetingProp.intId + "/" + liveMeeting.props.meetingProp.intId + "/" + f.getName() + "/textfiles/" + num
54 val svgUri = rootUri + liveMeeting.props.meetingProp.intId + "/" + liveMeeting.props.meetingProp.intId + "/" + f.getName() + "/svg/" + num
55
56 val page = PageVO(f.getName() + "/" + num, num, thumbUri, swfUri, txtUri, svgUri, num == 1, 0, 0, 100, 100)
57 pages += page.id -> page
58 num = num + 1
59 }
60 }
61
62 var isCurrent: Boolean = false
63
64 if (notFoundCurrent &&
65 (
66 f.getName().startsWith("d2d9a672040fbde2a47a10bf6c37b6a4b5ae187f") || f.getName().startsWith("default")
67 )) {
68 isCurrent = true
69 notFoundCurrent = false
70 }
71 val pr = new Presentation(f.getName(), f.getName(), isCurrent, pages.toMap, false)
72 presentationData += pr.id -> pr
73 liveMeeting.presModel.addPresentation(pr)
74 }
75 }
76
78 }