Maxim--which aspect of https://sketch.io/sketchpad/ are you saying we could
implement? I am confused.

Also, on the dropbox sketches provided by Dennis, I see two major changes:

1. Smaller toolbar (right side of screenshot) which I like.
2. Vertically aligned user's area (far left of screen). What is the reason
for doing it this way? And what questions/problems remain to be answered
about this design?

I'd like to contribute to this discussion if I understand the remaining
questions.

Thanks!!

Dan

On Tue, May 2, 2017 at 2:19 AM, Maxim Solodovnik <solomax...@gmail.com>
wrote:

> We can try to implement something like this: https://sketch.io/sketchpad/
>
> On Fri, Apr 28, 2017 at 11:58 PM, Maxim Solodovnik <solomax...@gmail.com>
> wrote:
>
>> Hello Denis,
>>
>> Maybe you have free time to help with design of new room?
>>
>> We need to put scale and goto/prev/next page somewhere
>> And I believe we need to change WB toolbar to be more compact
>>
>> Additional requirements:
>> 1) we need a way to display Chat and WB same time
>> 2) we need a way to display Activities and WB (and Chat) same time
>>
>> I see no places where to put it :(
>>
>> Thanks in advance
>>
>>
>> On Fri, Apr 28, 2017 at 8:31 AM, Maxim Solodovnik <solomax...@gmail.com>
>> wrote:
>>
>>> Hello Peter,
>>>
>>> just have checked, the issue with NullPointer is not reproducible
>>> locally :((
>>> can you please run "svn status" to ensure no java files are locally
>>> modified?
>>>
>>> Could you additionally check the logs, maybe you have any other
>>> warnings/errors?
>>>
>>> On Thu, Apr 27, 2017 at 7:37 PM, Peter Dähn <da...@vcrp.de> wrote:
>>>
>>>> Hi Maxim,
>>>>
>>>> finally details for 1)
>>>>
>>>> create poll (this was y/n, but doesn't matter), vote, close poll (same
>>>> result without closing) and try to delete it ends up in 500 server fault
>>>>
>>>> Demo server works. Serverlog from my machine for create, vote colse and
>>>> delete
>>>>
>>>> DEBUG 04-27 14:27:50.678 PollDao.java 192522288 87
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-3] -  :: getPoll :: 19
>>>> DEBUG 04-27 14:27:50.681 PollDao.java 192522291 113
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-3] -  :: getArchived :: 19
>>>> DEBUG 04-27 14:27:50.698 RoomPanel.java 192522308 250
>>>> org.apache.openmeetings.web.room.RoomPanel
>>>> [http-nio-0.0.0.0-5080-exec-3] - public ? true, ownedId ? 0 true
>>>> DEBUG 04-27 14:27:50.759 MainPanel.java 192522369 256
>>>> org.apache.openmeetings.web.common.MainPanel
>>>> [http-nio-0.0.0.0-5080-exec-3] - WebSocketBehavior:: pingTimer is attached
>>>> DEBUG 04-27 14:27:50.850 FileExplorerItemDao.java 192522460 100
>>>> org.apache.openmeetings.db.dao.file.FileExplorerItemDao
>>>> [http-nio-0.0.0.0-5080-exec-3] - getByOwner() started
>>>> DEBUG 04-27 14:27:50.866 FileExplorerItemDao.java 192522476 95
>>>> org.apache.openmeetings.db.dao.file.FileExplorerItemDao
>>>> [http-nio-0.0.0.0-5080-exec-3] - getFileExplorerItemsByRoom roomId :: 19
>>>> DEBUG 04-27 14:27:50.937 Application.java 192522547 402
>>>> org.apache.openmeetings.web.app.Application
>>>> [http-nio-0.0.0.0-5080-exec-3] - Adding online room client:
>>>> 7eee1205-fc13-4c85-ba16-2a38c1f18d9c, room: 19
>>>> DEBUG 04-27 14:27:50.941 AuthLevelUtil.java 192522551 40
>>>> org.apache.openmeetings.db.util.AuthLevelUtil
>>>> [http-nio-0.0.0.0-5080-exec-3] - Level Admin :: [GRANTED]
>>>> DEBUG 04-27 14:27:51.767 WebSocketHelper.java 192523377 125
>>>> org.apache.openmeetings.core.util.WebSocketHelper
>>>> [http-nio-0.0.0.0-5080-exec-9] - Sending WebSocket message: {"type":"wb"}
>>>> DEBUG 04-27 14:27:52.071 ConferenceLogDao.java 192523681 52
>>>> org.apache.openmeetings.db.dao.log.ConferenceLogDao
>>>> [http-nio-0.0.0.0-5080-exec-4] - [addConferenceLog]:
>>>> org.apache.openmeetings.db.entity.log.ConferenceLog@4301f474
>>>> DEBUG 04-27 14:27:52.151 WebSocketHelper.java 192523761 72
>>>> org.apache.openmeetings.core.util.WebSocketHelper
>>>> [http-nio-0.0.0.0-5080-exec-4] - Sending WebSocket message: roomEnter
>>>> DEBUG 04-27 14:27:52.157 PollDao.java 192523767 127
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-4] -  :: hasPoll :: 19
>>>> DEBUG 04-27 14:27:52.165 PollDao.java 192523775 113
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-4] -  :: getArchived :: 19
>>>> DEBUG 04-27 14:27:52.273 PollDao.java 192523883 127
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-4] -  :: hasPoll :: 19
>>>> DEBUG 04-27 14:27:52.275 PollDao.java 192523885 113
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-4] -  :: getArchived :: 19
>>>> DEBUG 04-27 14:28:13.523 MailHandler.java 192545133 277
>>>> org.apache.openmeetings.core.mail.MailHandler
>>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-4]
>>>> - sendMails enter ...
>>>> DEBUG 04-27 14:28:13.527 MailHandler.java 192545137 279
>>>> org.apache.openmeetings.core.mail.MailHandler
>>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-4]
>>>> - Number of emails in init queue 0
>>>> DEBUG 04-27 14:28:13.528 MailHandler.java 192545138 284
>>>> org.apache.openmeetings.core.mail.MailHandler
>>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-4]
>>>> - ... sendMails done.
>>>> DEBUG 04-27 14:28:21.928 MainPanel.java 192553538 118
>>>> org.apache.openmeetings.web.common.MainPanel
>>>> [http-nio-0.0.0.0-5080-exec-9] - Sending WebSocket PING
>>>> DEBUG 04-27 14:28:24.964 MailHandler.java 192556574 277
>>>> org.apache.openmeetings.core.mail.MailHandler
>>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1]
>>>> - sendMails enter ...
>>>> DEBUG 04-27 14:28:24.968 MailHandler.java 192556578 279
>>>> org.apache.openmeetings.core.mail.MailHandler
>>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1]
>>>> - Number of emails in init queue 0
>>>> DEBUG 04-27 14:28:24.974 MailHandler.java 192556584 284
>>>> org.apache.openmeetings.core.mail.MailHandler
>>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1]
>>>> - ... sendMails done.
>>>> DEBUG 04-27 14:28:51.994 MainPanel.java 192583604 118
>>>> org.apache.openmeetings.web.common.MainPanel
>>>> [http-nio-0.0.0.0-5080-exec-5] - Sending WebSocket PING
>>>> DEBUG 04-27 14:28:54.292 PollDao.java 192585902 57
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-10] -  :: close ::
>>>> DEBUG 04-27 14:28:54.516 WebSocketHelper.java 192586126 72
>>>> org.apache.openmeetings.core.util.WebSocketHelper
>>>> [http-nio-0.0.0.0-5080-exec-10] - Sending WebSocket message:
>>>> pollCreated
>>>> DEBUG 04-27 14:28:54.527 PollDao.java 192586137 87
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-10] -  :: getPoll :: 19
>>>> DEBUG 04-27 14:28:54.653 PollDao.java 192586263 127
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-10] -  :: hasPoll :: 19
>>>> DEBUG 04-27 14:28:54.665 PollDao.java 192586275 142
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-10] -  :: hasVoted :: 19, 8
>>>> DEBUG 04-27 14:28:54.765 PollDao.java 192586375 87
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-10] -  :: getPoll :: 19
>>>> DEBUG 04-27 14:28:54.809 PollDao.java 192586419 127
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-10] -  :: hasPoll :: 19
>>>> DEBUG 04-27 14:28:54.812 PollDao.java 192586422 142
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-10] -  :: hasVoted :: 19, 1
>>>> DEBUG 04-27 14:29:00.564 WebSocketHelper.java 192592174 72
>>>> org.apache.openmeetings.core.util.WebSocketHelper
>>>> [http-nio-0.0.0.0-5080-exec-1] - Sending WebSocket message: pollUpdated
>>>> DEBUG 04-27 14:29:00.576 PollDao.java 192592186 87
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-1] -  :: getPoll :: 19
>>>> DEBUG 04-27 14:29:00.625 PollDao.java 192592235 127
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-1] -  :: hasPoll :: 19
>>>> DEBUG 04-27 14:29:00.634 PollDao.java 192592244 142
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-1] -  :: hasVoted :: 19, 8
>>>> DEBUG 04-27 14:29:00.738 PollDao.java 192592348 87
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-1] -  :: getPoll :: 19
>>>> DEBUG 04-27 14:29:00.760 PollDao.java 192592370 127
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-1] -  :: hasPoll :: 19
>>>> DEBUG 04-27 14:29:00.769 PollDao.java 192592379 142
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-1] -  :: hasVoted :: 19, 1
>>>> DEBUG 04-27 14:29:13.460 CleanupJob.java 192605070 80
>>>> org.apache.openmeetings.service.quartz.scheduler.CleanupJob
>>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-2]
>>>> - CleanupJob.cleanTestSetup
>>>> DEBUG 04-27 14:29:13.548 MailHandler.java 192605158 277
>>>> org.apache.openmeetings.core.mail.MailHandler
>>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-8]
>>>> - sendMails enter ...
>>>> DEBUG 04-27 14:29:13.557 MailHandler.java 192605167 279
>>>> org.apache.openmeetings.core.mail.MailHandler
>>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-8]
>>>> - Number of emails in init queue 0
>>>> DEBUG 04-27 14:29:13.558 MailHandler.java 192605168 284
>>>> org.apache.openmeetings.core.mail.MailHandler
>>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-8]
>>>> - ... sendMails done.
>>>> DEBUG 04-27 14:29:17.061 PollDao.java 192608671 87
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-2] -  :: getPoll :: 19
>>>> DEBUG 04-27 14:29:18.459 SessiondataDao.java 192610069 191
>>>> org.apache.openmeetings.db.dao.server.SessiondataDao
>>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-6]
>>>> - ****** clearSessionTable:
>>>> DEBUG 04-27 14:29:18.478 SessiondataDao.java 192610088 193
>>>> org.apache.openmeetings.db.dao.server.SessiondataDao
>>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-6]
>>>> - clearSessionTable: 0
>>>> DEBUG 04-27 14:29:18.490 ReminderJob.java 192610100 44
>>>> org.apache.openmeetings.service.quartz.scheduler.ReminderJob
>>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-9]
>>>> - ReminderJob.remindMeetings
>>>> DEBUG 04-27 14:29:21.191 WebSocketHelper.java 192612801 72
>>>> org.apache.openmeetings.core.util.WebSocketHelper
>>>> [http-nio-0.0.0.0-5080-exec-8] - Sending WebSocket message: pollUpdated
>>>> DEBUG 04-27 14:29:21.201 PollDao.java 192612811 87
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-8] -  :: getPoll :: 19
>>>> DEBUG 04-27 14:29:21.255 PollDao.java 192612865 127
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-8] -  :: hasPoll :: 19
>>>> DEBUG 04-27 14:29:21.275 PollDao.java 192612885 142
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-8] -  :: hasVoted :: 19, 8
>>>> DEBUG 04-27 14:29:21.441 PollDao.java 192613051 87
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-8] -  :: getPoll :: 19
>>>> DEBUG 04-27 14:29:21.480 PollDao.java 192613090 127
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-8] -  :: hasPoll :: 19
>>>> DEBUG 04-27 14:29:21.486 PollDao.java 192613096 142
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-8] -  :: hasVoted :: 19, 1
>>>> DEBUG 04-27 14:29:22.188 MainPanel.java 192613798 118
>>>> org.apache.openmeetings.web.common.MainPanel
>>>> [http-nio-0.0.0.0-5080-exec-5] - Sending WebSocket PING
>>>> DEBUG 04-27 14:29:23.463 CleanupJob.java 192615073 113
>>>> org.apache.openmeetings.service.quartz.scheduler.CleanupJob
>>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1]
>>>> - CleanupJob.cleanRoomFiles
>>>> DEBUG 04-27 14:29:24.334 PollDao.java 192615944 87
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-7] -  :: getPoll :: 19
>>>> DEBUG 04-27 14:29:24.357 PollDao.java 192615967 113
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-7] -  :: getArchived :: 19
>>>> DEBUG 04-27 14:29:24.924 CleanupJob.java 192616534 80
>>>> org.apache.openmeetings.service.quartz.scheduler.CleanupJob
>>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-2]
>>>> - CleanupJob.cleanTestSetup
>>>> DEBUG 04-27 14:29:25.088 MailHandler.java 192616698 277
>>>> org.apache.openmeetings.core.mail.MailHandler
>>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-6]
>>>> - sendMails enter ...
>>>> DEBUG 04-27 14:29:25.090 MailHandler.java 192616700 279
>>>> org.apache.openmeetings.core.mail.MailHandler
>>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-6]
>>>> - Number of emails in init queue 0
>>>> DEBUG 04-27 14:29:25.096 MailHandler.java 192616706 284
>>>> org.apache.openmeetings.core.mail.MailHandler
>>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-6]
>>>> - ... sendMails done.
>>>> DEBUG 04-27 14:29:29.925 SessiondataDao.java 192621535 191
>>>> org.apache.openmeetings.db.dao.server.SessiondataDao
>>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-8]
>>>> - ****** clearSessionTable:
>>>> DEBUG 04-27 14:29:29.934 ReminderJob.java 192621544 44
>>>> org.apache.openmeetings.service.quartz.scheduler.ReminderJob
>>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-9]
>>>> - ReminderJob.remindMeetings
>>>> DEBUG 04-27 14:29:29.949 SessiondataDao.java 192621559 193
>>>> org.apache.openmeetings.db.dao.server.SessiondataDao
>>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-8]
>>>> - clearSessionTable: 0
>>>> DEBUG 04-27 14:29:31.587 PollDao.java 192623197 57
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-6] -  :: close ::
>>>> DEBUG 04-27 14:29:31.622 PollDao.java 192623232 87
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-6] -  :: getPoll :: 19
>>>> DEBUG 04-27 14:29:31.653 PollDao.java 192623263 113
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-6] -  :: getArchived :: 19
>>>> DEBUG 04-27 14:29:31.934 WebSocketHelper.java 192623544 72
>>>> org.apache.openmeetings.core.util.WebSocketHelper
>>>> [http-nio-0.0.0.0-5080-exec-6] - Sending WebSocket message: pollUpdated
>>>> DEBUG 04-27 14:29:31.940 PollDao.java 192623550 87
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-6] -  :: getPoll :: 19
>>>> DEBUG 04-27 14:29:31.942 PollDao.java 192623552 127
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-6] -  :: hasPoll :: 19
>>>> DEBUG 04-27 14:29:31.949 PollDao.java 192623559 113
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-6] -  :: getArchived :: 19
>>>> DEBUG 04-27 14:29:31.974 PollDao.java 192623584 87
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-6] -  :: getPoll :: 19
>>>> DEBUG 04-27 14:29:31.984 PollDao.java 192623594 87
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-6] -  :: getPoll :: 19
>>>> DEBUG 04-27 14:29:31.987 PollDao.java 192623597 113
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-6] -  :: getArchived :: 19
>>>> DEBUG 04-27 14:29:32.012 PollDao.java 192623622 127
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-6] -  :: hasPoll :: 19
>>>> DEBUG 04-27 14:29:32.015 PollDao.java 192623625 113
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-6] -  :: getArchived :: 19
>>>> DEBUG 04-27 14:29:34.928 CleanupJob.java 192626538 113
>>>> org.apache.openmeetings.service.quartz.scheduler.CleanupJob
>>>> [org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-5]
>>>> - CleanupJob.cleanRoomFiles
>>>> DEBUG 04-27 14:29:37.033 PollDao.java 192628643 70
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-10] -  :: delete ::
>>>> DEBUG 04-27 14:29:37.084 PollDao.java 192628694 87
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-10] -  :: getPoll :: 19
>>>> DEBUG 04-27 14:29:37.157 PollDao.java 192628767 113
>>>> org.apache.openmeetings.db.dao.room.PollDao
>>>> [http-nio-0.0.0.0-5080-exec-10] -  :: getArchived :: 19
>>>> ERROR 04-27 14:29:37.339 DefaultExceptionMapper.java 192628949 170
>>>> org.apache.wicket.DefaultExceptionMapper [http-nio-0.0.0.0-5080-exec-10]
>>>> - Unexpected error occurred
>>>>
>>>> java.lang.NullPointerException: null
>>>>     at org.apache.openmeetings.web.room.poll.PollResultsDialog.getV
>>>> alues(PollResultsDialog.java:234)
>>>>     at org.apache.openmeetings.web.room.poll.PollResultsDialog.barC
>>>> hart(PollResultsDialog.java:265)
>>>>     at org.apache.openmeetings.web.room.poll.PollResultsDialog.acce
>>>> ss$900(PollResultsDialog.java:72)
>>>>     at org.apache.openmeetings.web.room.poll.PollResultsDialog$Poll
>>>> ResultsForm.redraw(PollResultsDialog.java:370)
>>>>     at org.apache.openmeetings.web.room.poll.PollResultsDialog$Poll
>>>> ResultsForm.updateModel(PollResultsDialog.java:364)
>>>>     at org.apache.openmeetings.web.room.poll.PollResultsDialog$2.on
>>>> Close(PollResultsDialog.java:118)
>>>>     at com.googlecode.wicket.jquery.ui.widget.dialog.AbstractDialog
>>>> .close(AbstractDialog.java:395)
>>>>     at com.googlecode.wicket.jquery.ui.widget.dialog.AbstractDialog
>>>> .onClick(AbstractDialog.java:221)
>>>>     at com.googlecode.wicket.jquery.ui.widget.dialog.AbstractDialog
>>>> .internalOnClick(AbstractDialog.java:233)
>>>>     at com.googlecode.wicket.jquery.ui.widget.dialog.AbstractDialog
>>>> $1.onClick(AbstractDialog.java:413)
>>>>     at com.googlecode.wicket.jquery.ui.widget.dialog.DialogBehavior
>>>> .onAjax(DialogBehavior.java:188)
>>>>     at com.googlecode.wicket.jquery.core.ajax.JQueryAjaxBehavior.re
>>>> spond(JQueryAjaxBehavior.java:173)
>>>>     at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest
>>>> (AbstractDefaultAjaxBehavior.java:598)
>>>>     at org.apache.wicket.core.request.handler.ListenerRequestHandle
>>>> r.internalInvoke(ListenerRequestHandler.java:308)
>>>>     at org.apache.wicket.core.request.handler.ListenerRequestHandle
>>>> r.invoke(ListenerRequestHandler.java:282)
>>>>     at org.apache.wicket.core.request.handler.ListenerRequestHandle
>>>> r.invokeListener(ListenerRequestHandler.java:224)
>>>>     at org.apache.wicket.core.request.handler.ListenerRequestHandle
>>>> r.respond(ListenerRequestHandler.java:210)
>>>>     at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor
>>>> .respond(RequestCycle.java:912)
>>>>     at org.apache.wicket.request.RequestHandlerExecutor.execute(Req
>>>> uestHandlerExecutor.java:65)
>>>>     at org.apache.wicket.request.cycle.RequestCycle.execute(Request
>>>> Cycle.java:283)
>>>>     at org.apache.wicket.request.cycle.RequestCycle.processRequest(
>>>> RequestCycle.java:253)
>>>>     at org.apache.wicket.request.cycle.RequestCycle.processRequestA
>>>> ndDetach(RequestCycle.java:221)
>>>>     at org.apache.wicket.protocol.ws.AbstractUpgradeFilter.processR
>>>> equestCycle(AbstractUpgradeFilter.java:70)
>>>>     at org.apache.wicket.protocol.http.WicketFilter.processRequest(
>>>> WicketFilter.java:204)
>>>>     at org.apache.wicket.protocol.http.WicketFilter.doFilter(Wicket
>>>> Filter.java:286)
>>>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>>>> lter(ApplicationFilterChain.java:192)
>>>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>>>> licationFilterChain.java:165)
>>>>     at org.red5.logging.LoggerContextFilter.doFilter(LoggerContextF
>>>> ilter.java:84)
>>>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>>>> lter(ApplicationFilterChain.java:192)
>>>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>>>> licationFilterChain.java:165)
>>>>     at org.apache.catalina.core.StandardWrapperValve.invoke(Standar
>>>> dWrapperValve.java:198)
>>>>     at org.apache.catalina.core.StandardContextValve.invoke(Standar
>>>> dContextValve.java:96)
>>>>     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(A
>>>> uthenticatorBase.java:478)
>>>>     at org.apache.catalina.core.StandardHostValve.invoke(StandardHo
>>>> stValve.java:140)
>>>>     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo
>>>> rtValve.java:80)
>>>>     at org.apache.catalina.valves.AbstractAccessLogValve.invoke(Abs
>>>> tractAccessLogValve.java:624)
>>>>     at org.apache.catalina.core.StandardEngineValve.invoke(Standard
>>>> EngineValve.java:87)
>>>>     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd
>>>> apter.java:341)
>>>>     at org.apache.coyote.http11.Http11Processor.service(Http11Proce
>>>> ssor.java:783)
>>>>     at org.apache.coyote.AbstractProcessorLight.process(AbstractPro
>>>> cessorLight.java:66)
>>>>     at org.apache.coyote.AbstractProtocol$ConnectionHandler.process
>>>> (AbstractProtocol.java:798)
>>>>     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun
>>>> (NioEndpoint.java:1441)
>>>>     at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketPro
>>>> cessorBase.java:49)
>>>>     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool
>>>> Executor.java:1142)
>>>>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo
>>>> lExecutor.java:617)
>>>>     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.r
>>>> un(TaskThread.java:61)
>>>>     at java.lang.Thread.run(Thread.java:745)
>>>> DEBUG 04-27 14:29:37.384 MainPanel.java 192628994 282
>>>> org.apache.openmeetings.web.common.MainPanel
>>>> [http-nio-0.0.0.0-5080-exec-1] - WebSocketBehavior::closeHandler [uid:
>>>> 7eee1205-fc13-4c85-ba16-2a38c1f18d9c, session:
>>>> 75C0BD3478B53E09EB83814E01A0BB86, key: org.apache.wicket.protocol.ws.
>>>> api.registry.PageIdKey@4]
>>>> DEBUG 04-27 14:29:37.385 Application.java 192628995 410
>>>> org.apache.openmeetings.web.app.Application
>>>> [http-nio-0.0.0.0-5080-exec-1] - Removing online room client:
>>>> 7eee1205-fc13-4c85-ba16-2a38c1f18d9c, room: 19
>>>> DEBUG 04-27 14:29:37.385 ScopeApplicationAdapter.java 192628995 488
>>>> org.apache.openmeetings.core.remote.ScopeApplicationAdapter
>>>> [http-nio-0.0.0.0-5080-exec-1] - [roomLeaveByScope]
>>>> 7eee1205-fc13-4c85-ba16-2a38c1f18d9c 19 null null
>>>>
>>>> Greetings Peter
>>>>
>>>>
>>>> Am 24.04.2017 um 16:18 schrieb Maxim Solodovnik:
>>>>
>>>> Thanks a lot Peter :)
>>>>
>>>> most detailed feedback so far :)
>>>>
>>>> 1) I would appreciate if you can get steps to reproduce to get this
>>>> exception ...
>>>> 2) good to know :)
>>>> 3)
>>>>   - undo not yet implemented
>>>>   - should work, will double check
>>>>   - also was working, will double check
>>>>   - scale is not yet implemented, Denis is on vacation I need help with
>>>> design and component placement :(
>>>> 4)
>>>>   - goto page/next/prev is not yet implemented, same design issue, jump
>>>> to page on scroll should work, will double check
>>>>   - The only thing I can propose: to move chat and/or A&A to the
>>>> User/File area as another tab(s)
>>>>
>>>> Would it be better?
>>>>
>>>> On Mon, Apr 24, 2017 at 9:01 PM, Peter Dähn <da...@vcrp.de> wrote:
>>>>
>>>>> Hi Maxim,
>>>>>
>>>>> sorry, but I couldn't manage it to answer earlier... :-(
>>>>>
>>>>> 1. delete poll
>>>>>
>>>>> demo-server works as expected, my installation ends up in an 500
>>>>> Internal error...
>>>>>
>>>>> ERROR 04-24 14:59:17.184 DefaultExceptionMapper.java 1816740 170
>>>>> org.apache.wicket.DefaultExceptionMapper
>>>>> [http-nio-0.0.0.0-5080-exec-7] - Unexpected error occurred
>>>>> java.lang.NullPointerException: null
>>>>>     at org.apache.openmeetings.web.room.poll.PollResultsDialog.getV
>>>>> alues(PollResultsDialog.java:234)
>>>>>     at org.apache.openmeetings.web.room.poll.PollResultsDialog.barC
>>>>> hart(PollResultsDialog.java:265)
>>>>>     at org.apache.openmeetings.web.room.poll.PollResultsDialog.acce
>>>>> ss$900(PollResultsDialog.java:72)
>>>>>     at org.apache.openmeetings.web.room.poll.PollResultsDialog$Poll
>>>>> ResultsForm.redraw(PollResultsDialog.java:370)
>>>>>     at org.apache.openmeetings.web.room.poll.PollResultsDialog$Poll
>>>>> ResultsForm.updateModel(PollResultsDialog.java:364)
>>>>>     at org.apache.openmeetings.web.room.poll.PollResultsDialog$2.on
>>>>> Close(PollResultsDialog.java:118)
>>>>>     at com.googlecode.wicket.jquery.ui.widget.dialog.AbstractDialog
>>>>> .close(AbstractDialog.java:395)
>>>>>     at com.googlecode.wicket.jquery.ui.widget.dialog.AbstractDialog
>>>>> .onClick(AbstractDialog.java:221)
>>>>>     at com.googlecode.wicket.jquery.ui.widget.dialog.AbstractDialog
>>>>> .internalOnClick(AbstractDialog.java:233)
>>>>>     at com.googlecode.wicket.jquery.ui.widget.dialog.AbstractDialog
>>>>> $1.onClick(AbstractDialog.java:413)
>>>>>     at com.googlecode.wicket.jquery.ui.widget.dialog.DialogBehavior
>>>>> .onAjax(DialogBehavior.java:188)
>>>>>     at com.googlecode.wicket.jquery.core.ajax.JQueryAjaxBehavior.re
>>>>> spond(JQueryAjaxBehavior.java:173)
>>>>>     at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest
>>>>> (AbstractDefaultAjaxBehavior.java:598)
>>>>>     at org.apache.wicket.core.request.handler.ListenerRequestHandle
>>>>> r.internalInvoke(ListenerRequestHandler.java:308)
>>>>>     at org.apache.wicket.core.request.handler.ListenerRequestHandle
>>>>> r.invoke(ListenerRequestHandler.java:282)
>>>>>     at org.apache.wicket.core.request.handler.ListenerRequestHandle
>>>>> r.invokeListener(ListenerRequestHandler.java:224)
>>>>>     at org.apache.wicket.core.request.handler.ListenerRequestHandle
>>>>> r.respond(ListenerRequestHandler.java:210)
>>>>>     at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor
>>>>> .respond(RequestCycle.java:912)
>>>>>     at org.apache.wicket.request.RequestHandlerExecutor.execute(Req
>>>>> uestHandlerExecutor.java:65)
>>>>>     at org.apache.wicket.request.cycle.RequestCycle.execute(Request
>>>>> Cycle.java:283)
>>>>>     at org.apache.wicket.request.cycle.RequestCycle.processRequest(
>>>>> RequestCycle.java:253)
>>>>>     at org.apache.wicket.request.cycle.RequestCycle.processRequestA
>>>>> ndDetach(RequestCycle.java:221)
>>>>>     at org.apache.wicket.protocol.ws.AbstractUpgradeFilter.processR
>>>>> equestCycle(AbstractUpgradeFilter.java:70)
>>>>>     at org.apache.wicket.protocol.http.WicketFilter.processRequest(
>>>>> WicketFilter.java:204)
>>>>>     at org.apache.wicket.protocol.http.WicketFilter.doFilter(Wicket
>>>>> Filter.java:286)
>>>>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>>>>> lter(ApplicationFilterChain.java:192)
>>>>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>>>>> licationFilterChain.java:165)
>>>>>     at org.red5.logging.LoggerContextFilter.doFilter(LoggerContextF
>>>>> ilter.java:84)
>>>>>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFi
>>>>> lter(ApplicationFilterChain.java:192)
>>>>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(App
>>>>> licationFilterChain.java:165)
>>>>>     at org.apache.catalina.core.StandardWrapperValve.invoke(Standar
>>>>> dWrapperValve.java:198)
>>>>>     at org.apache.catalina.core.StandardContextValve.invoke(Standar
>>>>> dContextValve.java:96)
>>>>>     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(A
>>>>> uthenticatorBase.java:478)
>>>>>     at org.apache.catalina.core.StandardHostValve.invoke(StandardHo
>>>>> stValve.java:140)
>>>>>     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorRepo
>>>>> rtValve.java:80)
>>>>>     at org.apache.catalina.valves.AbstractAccessLogValve.invoke(Abs
>>>>> tractAccessLogValve.java:624)
>>>>>     at org.apache.catalina.core.StandardEngineValve.invoke(Standard
>>>>> EngineValve.java:87)
>>>>>     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAd
>>>>> apter.java:341)
>>>>>     at org.apache.coyote.http11.Http11Processor.service(Http11Proce
>>>>> ssor.java:783)
>>>>>     at org.apache.coyote.AbstractProcessorLight.process(AbstractPro
>>>>> cessorLight.java:66)
>>>>>     at org.apache.coyote.AbstractProtocol$ConnectionHandler.process
>>>>> (AbstractProtocol.java:798)
>>>>>     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun
>>>>> (NioEndpoint.java:1441)
>>>>>     at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketPro
>>>>> cessorBase.java:49)
>>>>>     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool
>>>>> Executor.java:1142)
>>>>>     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo
>>>>> lExecutor.java:617)
>>>>>     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.r
>>>>> un(TaskThread.java:61)
>>>>>     at java.lang.Thread.run(Thread.java:745)
>>>>>
>>>>>
>>>>> 2. "/hash?swf=settings
>>>>> <http://server:5080/openmeetings/hash?swf=settings>" works as
>>>>> expected, thanks for that
>>>>>
>>>>> 3. some things that doesn't seem to work
>>>>>
>>>>> - whiteboard undo doesn't work
>>>>> - deletion of selected objects is not possible
>>>>> - upload a document with choosing "put on whiteboard" and "clean
>>>>> whiteboard" ends in an uploaded document and an empty wb. My expectation
>>>>> was to get just my doc on the wb.
>>>>>
>>>>> This is also the same at the demoserver...
>>>>>
>>>>> At the next point my installation acts a bit different than demo...
>>>>>
>>>>> - Scale of whiteboard doesn't work and settings (x,v,y,h) are just
>>>>> empty and grey
>>>>>
>>>>>
>>>>> 4. feedback from teacher perspective
>>>>>
>>>>> they have 2 points. one with the html5 whiteboard and one with chat
>>>>> and one with activities & actions..
>>>>>
>>>>> - html5 whiteboard
>>>>>
>>>>> navigation through pages is missing. Scrolling doesn't work well
>>>>> during a presentation to "jump" through different pages
>>>>>
>>>>> - general layout
>>>>>
>>>>> Chat an a&a shouldn't interfere the wb-area. During a presentation all
>>>>> parts of a slide should be usable for the teacher. But they like to see
>>>>> also chat and a&a to answer questions, give permissions and so on. 
>>>>> Probably
>>>>> a 3-column layout or 2 columns 2 rows layout would be a possible solution
>>>>> for that. They said "as flexible as possible"...
>>>>>
>>>>> I know that chat an a&a are there since a few versions, but we still
>>>>> use 3.0.7 and I just got them to test a bit with the html5 whiteboard... I
>>>>> think the last part is complicated. But I didn't see it from that
>>>>> perspective till now... :-(
>>>>>
>>>>>
>>>>>
>>>>> Anyway great work
>>>>> Greetings Peter
>>>>>
>>>>>
>>>>>
>>>>> Am 19.04.2017 um 06:02 schrieb Maxim Solodovnik:
>>>>>
>>>>> Hello Peter,
>>>>>
>>>>> Poll Vote was broken in 3.2.1 and 4.0.0
>>>>> seems to be fixed, demo is updated
>>>>> Please let me know if you observing any other issues
>>>>>
>>>>> On Wed, Apr 12, 2017 at 2:35 PM, Peter Dähn <da...@vcrp.de> wrote:
>>>>>
>>>>>> Hi Maxim,
>>>>>>
>>>>>> thanks so far...
>>>>>>
>>>>>> I will have a look later the day. Also some of my colleagues had a
>>>>>> look at it from teacher perspective. I will provide their feedback also
>>>>>> later the day...
>>>>>>
>>>>>> 4) I think "/hash?swf=settings
>>>>>> <http://server:5080/openmeetings/hash?swf=settings>" is still
>>>>>> needed. When I use Openmeetings somehow integrated, I will not have a
>>>>>> private room.
>>>>>>
>>>>>> 6) Poll delete, I think I just got it wrong, because the window
>>>>>> doesn't disappear after deleting a poll,
>>>>>>
>>>>>>     "Poll result just one value", seems to work today... but now I
>>>>>> can vote as often as I want and my choices will be added to the result...
>>>>>>
>>>>>> Anyway... great work so far
>>>>>>
>>>>>> later with a bit more input.
>>>>>> Greetings Peter
>>>>>>
>>>>>>
>>>>>> Am 12.04.2017 um 04:17 schrieb Maxim Solodovnik:
>>>>>>
>>>>>> OK, had time to check some on the issues :)
>>>>>>
>>>>>> 1) pointer of normal user should work
>>>>>> 2) changes should be not available for user with no permissions
>>>>>> 3) device settings is totally re-implemented
>>>>>> 4) Do we still need "/hash?swf=settings
>>>>>> <http://server:5080/openmeetings/hash?swf=settings>"? device
>>>>>> settings can be pre-set at one of user private rooms ....
>>>>>> 5) I was aware of this, now should be fixed :)
>>>>>> 6) Could you please provide more steps for poll issues? it seems work
>>>>>> for me
>>>>>>
>>>>>> On Thu, Apr 6, 2017 at 7:59 PM, Peter Dähn <da...@vcrp.de> wrote:
>>>>>>
>>>>>>> Hallo Maxim,
>>>>>>>
>>>>>>> looks great so far!
>>>>>>>
>>>>>>> We start to play around with it. Installation and load Backup of
>>>>>>> 3.0.7 works just fine.
>>>>>>>
>>>>>>> In the first run, we saw
>>>>>>>
>>>>>>> - that the pointer of a normal user is not visible for other. Just
>>>>>>> when they got witheboard rights this is working.
>>>>>>> - Normal user can change items at the whiteboard but not visible for
>>>>>>> others. They should not be able to do that.
>>>>>>> - Device settings dialog is not visible in FF (BS Linux) just an
>>>>>>> empty popup is shown. With Chrome I got the dialog, but it doesn't fit 
>>>>>>> so
>>>>>>> it is not usable.
>>>>>>> - http://server:5080/openmeetings/hash?swf=settings doesn't load
>>>>>>> the dialog at all.
>>>>>>> - Chatmessage ends up in internal Error 500 Page. After Reload the
>>>>>>> Message is viewable.
>>>>>>> - Polls seems to be broken (delete poll doesn't work and result just
>>>>>>> shows 1 value. )
>>>>>>>
>>>>>>> I think I will get more feedbacks the next days.
>>>>>>>
>>>>>>> Greetings Peter
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Am 06.04.2017 um 14:00 schrieb Maxim Solodovnik:
>>>>>>>
>>>>>>> Thanks for the feedback!
>>>>>>> I believe this behavior: non constant z-index is "by design", I can
>>>>>>> try to change it, but for now it is not top priority :)
>>>>>>> You can file JIRA :)
>>>>>>>
>>>>>>> On Thu, Apr 6, 2017 at 6:48 PM, BBS Technik <dormiti...@gmx.de>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hello Maxim,
>>>>>>>> the whiteboard looks realy good and I cant wait to see it
>>>>>>>> implemented in the productiv versin of om. :-)
>>>>>>>>
>>>>>>>> When I played a little bit arround, I saw, that the layers of the
>>>>>>>> whiteboard are not fixed.
>>>>>>>> I. e. when I have a jpg on the whitboard  and I draw an arrow on
>>>>>>>> it, and then move the jpg a little bit, then the arrow is behind the 
>>>>>>>> jpg.
>>>>>>>>
>>>>>>>> Best regard Ed
>>>>>>>>
>>>>>>>>
>>>>>>>> *Gesendet:* Mittwoch, 05. April 2017 um 17:11 Uhr
>>>>>>>> *Von:* "Maxim Solodovnik" <solomax...@gmail.com>
>>>>>>>> *An:* dev <d...@openmeetings.apache.org>, "Openmeetings user-list" <
>>>>>>>> user@openmeetings.apache.org>
>>>>>>>> *Betreff:* [DISCUSSION] HTML5 whiteboard for 4.0.0
>>>>>>>> Hello All,
>>>>>>>>
>>>>>>>> During last month I developed new HTML5 whiteboard, not all features
>>>>>>>> are implemented:
>>>>>>>> - save WB to file
>>>>>>>> - load saved WB
>>>>>>>> - Undo
>>>>>>>> - load Video to WB
>>>>>>>>
>>>>>>>> Other functionality seems to be implemented
>>>>>>>>
>>>>>>>> I would like to get some input: what is good, what is bad, what can
>>>>>>>> be
>>>>>>>> improved :)
>>>>>>>> This version is available here: https://om.alteametasoft.com:8
>>>>>>>> 443/next
>>>>>>>> Room currently has no audio/video support, and room chat might be
>>>>>>>> broken, I'm working on it :)
>>>>>>>>
>>>>>>>> Additionally we have number of issues:
>>>>>>>> https://issues.apache.org/jira/browse/OPENMEETINGS-1613
>>>>>>>> https://issues.apache.org/jira/browse/OPENMEETINGS-369
>>>>>>>> https://issues.apache.org/jira/browse/OPENMEETINGS-370
>>>>>>>> https://issues.apache.org/jira/browse/OPENMEETINGS-371
>>>>>>>> https://issues.apache.org/jira/browse/OPENMEETINGS-374
>>>>>>>>
>>>>>>>> All this about introducing new room role: "Presenter"
>>>>>>>> This role has less rights than Moderator, but more rights than "Draw
>>>>>>>> on whiteboard"
>>>>>>>>
>>>>>>>> WDYT? Is it good idea? If so which icon can it have?
>>>>>>>>
>>>>>>>> Would love to get some input!
>>>>>>>>
>>>>>>>> --
>>>>>>>> WBR
>>>>>>>> Maxim aka solomax
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> WBR
>>>>>>> Maxim aka solomax
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> WBR
>>>>>> Maxim aka solomax
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> WBR
>>>>> Maxim aka solomax
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> WBR
>>>> Maxim aka solomax
>>>>
>>>>
>>>
>>>
>>> --
>>> WBR
>>> Maxim aka solomax
>>>
>>
>>
>>
>> --
>> WBR
>> Maxim aka solomax
>>
>
>
>
> --
> WBR
> Maxim aka solomax
>



-- 
Daniel Ascher, M.Ed.
President
A+ Test Prep and Tutoring
"Creating Bright Futures"

505 York Road, Suite 6
Jenkintown, PA 19046
Office: 215.886.9188
Direct: 267.242.9640
Click here to schedule a phone call with me.
<http://t.sidekickopen04.com/e1t/c/5/f18dQhb0S7lC8dDMPbW2n0x6l2B9nMJW7t5XYg2BgPBHN2zhHl2Rs0vvW3LqWkM56dBKhf5Lr5GY02?t=https%3A%2F%2Fapp.hubspot.com%2Fmeetings%2Faplusadmin15&si=6292828578119680&pi=4ea4b5c5-dbff-4af5-870f-87d4ffca9552>
Sign Up for A+ News and Test Prep Tips!
<http://t.sidekickopen04.com/e1t/c/5/f18dQhb0S7lC8dDMPbW2n0x6l2B9nMJW7t5XYg2BgPBHN2zhHl2Rs0vvW3LqWkM56dBKhf5Lr5GY02?t=http%3A%2F%2Fwww.aplustutoring.com%2Fsign-up-for-a-news&si=6292828578119680&pi=4ea4b5c5-dbff-4af5-870f-87d4ffca9552>
<http://t.sidekickopen04.com/e1t/c/5/f18dQhb0S7lC8dDMPbW2n0x6l2B9nMJW7t5XYg2BgPBHN2zhHl2Rs0vvW3LqWkM56dBKhf5Lr5GY02?t=http%3A%2F%2Faplustutoring.com%2F&si=6292828578119680&pi=4ea4b5c5-dbff-4af5-870f-87d4ffca9552>

Reply via email to