Closed ricardomvalverde closed 2 years ago
This issue has been mentioned on Quelea community. There might be relevant details there:
Had a go at fixing this - I think I've narrowed down the issue in any case. Could you try again with the latest CI and let me know if there's any improvement, or if not any difference in the error message?
Hi Berry! Thanks for you effort to fix this issue. I've downloded the 2022 CI version (https://github.com/quelea-projection/Quelea/releases/download/CI-RELEASE/quelea-CI-UNSTABLE-x64-windows-install.exe) and tested the Planning Center integration. It didn't work, but the error is different, as you can see below. As I mentioned, if you want to test with my Planning Center account, I can share it with you. Also, I have no problem to test this feature in next nightly nreleases. Feel free to choose the best option for you.
Regards, Ricardo
Dec 06, 2021 7:45:48 PM org.quelea.windows.main.MainPanel
Dec 06, 2021 7:45:48 PM org.quelea.windows.main.MainPanel
Dec 06, 2021 7:47:22 PM org.quelea.services.importexport.PlanningCenterOnlineImportDialog$UpdatePlanTask call WARNING: Exception with parser java.lang.IllegalArgumentException: Included section contains unknown resource type: ItemTime at com.github.jasminb.jsonapi.ResourceConverter.getIncludedResources(ResourceConverter.java:433) at com.github.jasminb.jsonapi.ResourceConverter.parseIncluded(ResourceConverter.java:388) at com.github.jasminb.jsonapi.ResourceConverter.readDocumentCollection(ResourceConverter.java:281) at com.github.jasminb.jsonapi.retrofit.JSONAPIDocumentResponseBodyConverter.convert(JSONAPIDocumentResponseBodyConverter.java:36) at com.github.jasminb.jsonapi.retrofit.JSONAPIDocumentResponseBodyConverter.convert(JSONAPIDocumentResponseBodyConverter.java:16) at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:223) at retrofit2.OkHttpCall.execute(OkHttpCall.java:186) at org.quelea.services.importexport.PlanningCenterOnlineImportDialog$UpdatePlanTask.processServiceTypeFolder(PlanningCenterOnlineImportDialog.java:206) at org.quelea.services.importexport.PlanningCenterOnlineImportDialog$UpdatePlanTask.call(PlanningCenterOnlineImportDialog.java:163) at org.quelea.services.importexport.PlanningCenterOnlineImportDialog$UpdatePlanTask.call(PlanningCenterOnlineImportDialog.java:154) at javafx.concurrent.Task$TaskCallable.call(Task.java:1426) at java.base/java.util.concurrent.FutureTask.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source)
Dec 06, 2021 7:47:49 PM org.quelea.services.importexport.PlanningCenterOnlineImportDialog$UpdatePlanTask call WARNING: Exception with parser java.lang.IllegalArgumentException: Included section contains unknown resource type: ItemTime at com.github.jasminb.jsonapi.ResourceConverter.getIncludedResources(ResourceConverter.java:433) at com.github.jasminb.jsonapi.ResourceConverter.parseIncluded(ResourceConverter.java:388) at com.github.jasminb.jsonapi.ResourceConverter.readDocumentCollection(ResourceConverter.java:281) at com.github.jasminb.jsonapi.retrofit.JSONAPIDocumentResponseBodyConverter.convert(JSONAPIDocumentResponseBodyConverter.java:36) at com.github.jasminb.jsonapi.retrofit.JSONAPIDocumentResponseBodyConverter.convert(JSONAPIDocumentResponseBodyConverter.java:16) at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:223) at retrofit2.OkHttpCall.execute(OkHttpCall.java:186) at org.quelea.services.importexport.PlanningCenterOnlineImportDialog$UpdatePlanTask.processServiceTypeFolder(PlanningCenterOnlineImportDialog.java:206) at org.quelea.services.importexport.PlanningCenterOnlineImportDialog$UpdatePlanTask.call(PlanningCenterOnlineImportDialog.java:163) at org.quelea.services.importexport.PlanningCenterOnlineImportDialog$UpdatePlanTask.call(PlanningCenterOnlineImportDialog.java:154) at javafx.concurrent.Task$TaskCallable.call(Task.java:1426)
@ricardomvalverde Let's stick with this for now and if it takes too long or I get stuck, we can fall back to grabbing credentials and going from there :-)
Made another change - could you give the CI release another try?
Of course. I'm downloading and I'll report soon.
@berry120 Ah sorry, you're too fast - new CI release isn't actually built yet! I'll ping you here when it's up.
@ricardomvalverde Up now 👍
I tested and the error now is on "ItemNote".
Dec 06, 2021 8:50:36 PM org.quelea.windows.main.MainPanel
Dec 06, 2021 8:50:36 PM org.quelea.windows.main.MainPanel
Dec 06, 2021 8:51:10 PM org.quelea.services.importexport.PlanningCenterOnlineImportDialog$UpdatePlanTask call WARNING: Exception with parser java.lang.IllegalArgumentException: Included section contains unknown resource type: ItemNote at com.github.jasminb.jsonapi.ResourceConverter.getIncludedResources(ResourceConverter.java:433) at com.github.jasminb.jsonapi.ResourceConverter.parseIncluded(ResourceConverter.java:388) at com.github.jasminb.jsonapi.ResourceConverter.readDocumentCollection(ResourceConverter.java:281) at com.github.jasminb.jsonapi.retrofit.JSONAPIDocumentResponseBodyConverter.convert(JSONAPIDocumentResponseBodyConverter.java:36) at com.github.jasminb.jsonapi.retrofit.JSONAPIDocumentResponseBodyConverter.convert(JSONAPIDocumentResponseBodyConverter.java:16) at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:223) at retrofit2.OkHttpCall.execute(OkHttpCall.java:186) at org.quelea.services.importexport.PlanningCenterOnlineImportDialog$UpdatePlanTask.processServiceTypeFolder(PlanningCenterOnlineImportDialog.java:206) at org.quelea.services.importexport.PlanningCenterOnlineImportDialog$UpdatePlanTask.call(PlanningCenterOnlineImportDialog.java:163) at org.quelea.services.importexport.PlanningCenterOnlineImportDialog$UpdatePlanTask.call(PlanningCenterOnlineImportDialog.java:154) at javafx.concurrent.Task$TaskCallable.call(Task.java:1426) at java.base/java.util.concurrent.FutureTask.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source)
"Ah sorry, you're too fast - new CI release isn't actually built yet! I'll ping you here when it's up." No problem! I realised the version was 1059 when I tried to downloaded and I waited till it changed to 1060. :-)
On build 1061, "ItemNote" exception as well.
Dec 06, 2021 9:26:24 PM org.quelea.windows.main.MainPanel
Dec 06, 2021 9:26:24 PM org.quelea.windows.main.MainPanel
Dec 06, 2021 9:27:10 PM org.quelea.services.importexport.PlanningCenterOnlineImportDialog$UpdatePlanTask call WARNING: Exception with parser java.lang.IllegalArgumentException: Included section contains unknown resource type: ItemNote at com.github.jasminb.jsonapi.ResourceConverter.getIncludedResources(ResourceConverter.java:433) at com.github.jasminb.jsonapi.ResourceConverter.parseIncluded(ResourceConverter.java:388) at com.github.jasminb.jsonapi.ResourceConverter.readDocumentCollection(ResourceConverter.java:281) at com.github.jasminb.jsonapi.retrofit.JSONAPIDocumentResponseBodyConverter.convert(JSONAPIDocumentResponseBodyConverter.java:36) at com.github.jasminb.jsonapi.retrofit.JSONAPIDocumentResponseBodyConverter.convert(JSONAPIDocumentResponseBodyConverter.java:16) at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:223) at retrofit2.OkHttpCall.execute(OkHttpCall.java:186) at org.quelea.services.importexport.PlanningCenterOnlineImportDialog$UpdatePlanTask.processServiceTypeFolder(PlanningCenterOnlineImportDialog.java:206) at org.quelea.services.importexport.PlanningCenterOnlineImportDialog$UpdatePlanTask.call(PlanningCenterOnlineImportDialog.java:163) at org.quelea.services.importexport.PlanningCenterOnlineImportDialog$UpdatePlanTask.call(PlanningCenterOnlineImportDialog.java:154) at javafx.concurrent.Task$TaskCallable.call(Task.java:1426) at java.base/java.util.concurrent.FutureTask.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source)
@ricardomvalverde Is the error any different with build 1062? If there's no change, then ping me at berry120@gmail.com and we can sort out getting access to your planning centre account to try and hopefully fix this a bit quicker :-)
The same error with build 1062. I'll send my Planning Center credentials to your mail.
Dec 07, 2021 1:08:03 PM org.quelea.windows.main.MainPanel
Dec 07, 2021 1:08:53 PM org.quelea.services.importexport.PlanningCenterOnlineImportDialog$UpdatePlanTask call WARNING: Exception with parser java.lang.IllegalArgumentException: Included section contains unknown resource type: ItemNote at com.github.jasminb.jsonapi.ResourceConverter.getIncludedResources(ResourceConverter.java:433) at com.github.jasminb.jsonapi.ResourceConverter.parseIncluded(ResourceConverter.java:388) at com.github.jasminb.jsonapi.ResourceConverter.readDocumentCollection(ResourceConverter.java:281) at com.github.jasminb.jsonapi.retrofit.JSONAPIDocumentResponseBodyConverter.convert(JSONAPIDocumentResponseBodyConverter.java:36) at com.github.jasminb.jsonapi.retrofit.JSONAPIDocumentResponseBodyConverter.convert(JSONAPIDocumentResponseBodyConverter.java:16) at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:223) at retrofit2.OkHttpCall.execute(OkHttpCall.java:186) at org.quelea.services.importexport.PlanningCenterOnlineImportDialog$UpdatePlanTask.processServiceTypeFolder(PlanningCenterOnlineImportDialog.java:206) at org.quelea.services.importexport.PlanningCenterOnlineImportDialog$UpdatePlanTask.call(PlanningCenterOnlineImportDialog.java:163) at org.quelea.services.importexport.PlanningCenterOnlineImportDialog$UpdatePlanTask.call(PlanningCenterOnlineImportDialog.java:154) at javafx.concurrent.Task$TaskCallable.call(Task.java:1426) at java.base/java.util.concurrent.FutureTask.run(Unknown Source) at java.base/java.lang.Thread.run(Unknown Source)
I've tested with the latest CI-release. When trying to import: nothing is shown Is that by design?
With the previous CI's this was different:
The following post describes my Planing Center set-up:
@DeeTigIT The issue that @ricardomvalverde was having (once we fixed the initial import exceptions at least!) was that it was importing all the old services, but none of the newer ones (since it's capped at 25 or so by default, and bringing in all the old services would take ages and wouldn't be much use.)
As a result, I decided that, by default, the best behaviour might be to bring in all the services newer than a month old, so we don't have a clear cutoff as soon as the date has passed, but we also don't keep bringing in old services that won't be used. I think that's why you're likely not seeing anything there.
This brings a general question though - in real-world use, are there still others who need to access old services? If so then we need to revisit this again.
That being said, if there are no newer services then I've now (in the latest CI) told it to switch back to the old way of doing things, so hopefully you should still see the same output as before in that latest CI release.
An idea that pops up: perhaps add an import/export property for Planning Center "max schedule days back" (default: 30) . For Elevanto there is already an import/export property.
With a corresponding entry in the quelea.properties file: planning.center.max.days.back
Hi @DeeTigIT! I explained to @berry120 that in my case, the integration is used to prepare the schedule exactly with the same lyrics adopted by music minister in Planning Centre. So, particularly, it has no benefit to view only old dates than current day, since I couldn't import the lyrics, forcing to input this data manually in Quelea.
This functionality I suggested is based on projection software named Proclaim (a subscription software I tried), which now is not the unique software to import lyrics from Planning Centre. :-) Proclaim only allows to get new services plans from Planning Centre, because the focus is to gain time for the software projection users in slides preparation task, besides to ensure the lyrics that will be projected are as is with the lyrics inserted by the music minister.
Maybe I'm not viewing the benefit of viewing/importing old services plans of the Planning Centre. May you mention the benefit in your specific case, DeeTigIT?
Hello Ricardo, Berry, Such a case could be: suppose the worship team starts preparing the schedule in Planning Center at the beginning of the week. And the projection team imports the PC schedule in Quelea at saturday evening, the day before the service. Looking for PC schedules with exact the current day then results in no hits. In other words: Q has to look back a number of days in time to select PC schedules and show them in the import dialog. An infinite number of days back would be overkill (and performance destroying). In my case 7 days back would be enough, in Ricardo's case 1-2 days. This led me to the idea of a quelea.properties file entry "planning.center.max.days.back" to control the PC schedule selection by Quelea. Regards, Dirk
Hi @DeeTigIT. I couldn't comprehend your hypothesis. Imagine worship team starts preparing the schedule in Planning Centre at the beginning of the week, as you said. When they do that, they create all the service plan in the correspondent service date of the week it will happen. For example, it they create at the beginning of the week, they will do that on next Sunday date. So, even projection team imports at Saturday evening or at Sunday morning before services, they should view this service plan. Anyway, what @berry120 implemented on latest CI build should satisfy all demands and the implementation you suggested (modify how many days back) may improve the wait time in import window. Regards, Ricardo
Berry and DeeTigIT, I forgot to say excuse for eventually some text may be misundertoood and offend someone. As a non native language (I'm Brazilian), my vocabulary is scarce and my English is not so good. Be sure my intention is the best possible. God bless all that dedicate time for this precious tool, in special Berry.
Regards, Ricardo
@ricardomvalverde @DeeTigIT That option should now be added. It's defaulted to 31 days in the past but can be adjusted up to 2 years.
@berry120 Did you build a version with the actual fix? I can only see the build 1066 (which is 2 days old).
@DuebelWalter Sorry, my bad - we'd run out of build credits. That should now be sorted and a new CI version should appear in the next 20 minutes or so.
The Fix with the 2 years works perfect for me. I have found another problem. We use three different services in Planning Center in our church.
But in Quelea only one type of service is displayed.("Gottesdienste").
If you need my Planning Center Account for fixing this issue please tell me.
.
Tested build 1067 and the slider bar is working fine. One thing that only Quelea does, compared to all projection softwares I've tested, is to import videos from Planning Centre, not only songs. That feature is awesome!!!! I'll open a new issue to allow import all the other items of the service plan inserted in Planning Centre.
@DuebelWalter Hmm, that's odd as it should loop through all the available service types. If you're able to contact me at berry120@gmail.com to pass over login details for planning centre then I'll take a look.
@berry120 I send you an Email with my Login Data. My Emailadress is metaler@gmx.net Thank you for your Help
@DuebelWalter That'd be great, thanks! (Still haven't received it, not sure if you've sent it yet?)
Ok , I try it a second time, maybe the first time something went wrong. Edit: I hope the email reaches you this time. I unfortunately do not know what went wrong with the first attempt
@DuebelWalter Still no email I'm afraid. Definitely sending it to berry120@gmail.com?
@berry120 I tried today from my smartphone, i copied your emailadress. I hope it works this time. But I just cant say what I'm doing wrong
Clearing this from 2022.0 as it's a lot better than it was, and I'm unable to reproduce any of the other issues at the moment. Certainly not against fixing it if we can, just don't want to hold 2022.0 up as it has a number of other bugfixes and features we'd like to get out there.
I agree with you, the problem with Planning Center can probably be easily solved internally because as far as I can understand, the problem appeared only from the moment we created 3 services. The services before that are displayed correctly. So I delete the two unused services and then everything should be fine for us again.
Closing this one off just because we've addressed a number of specific planning centre issues here, and we're not able to immediately reproduce any others. If there's another planning centre issue then feel free to create another issue and we'll track that separately 👍
I don’t know whether the issue occurs when there are specific parameters filled up in planning centre or when the API tries to retrieve a great amount of data.
I tried on 2021 as well on latest 2010 versions and it didn’t work. I capture some data in quelea-debug.log that probably may help to find what is causing that error: Nov 03, 2021 8:50:32 PM org.quelea.services.importexport.PlanningCenterOnlineImportDialog$UpdatePlanTask call WARNING: Exception with parser java.lang.RuntimeException: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of java.lang.String out of START_OBJECT token at [Source: UNKNOWN; line: -1, column: -1] (through reference chain: org.quelea.planningcenter.model.services.PlanTime[“team_reminders”]->java.util.ArrayList[0]) at com.github.jasminb.jsonapi.ResourceConverter.readDocumentCollection(ResourceConverter.java:306) at com.github.jasminb.jsonapi.retrofit.JSONAPIDocumentResponseBodyConverter.convert(JSONAPIDocumentResponseBodyConverter.java:36) at com.github.jasminb.jsonapi.retrofit.JSONAPIDocumentResponseBodyConverter.convert(JSONAPIDocumentResponseBodyConverter.java:16) at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:223) at retrofit2.OkHttpCall.execute(OkHttpCall.java:186) at org.quelea.services.importexport.PlanningCenterOnlineImportDialog$UpdatePlanTask.processServiceTypeFolder(PlanningCenterOnlineImportDialog.java:206) at org.quelea.services.importexport.PlanningCenterOnlineImportDialog$UpdatePlanTask.call(PlanningCenterOnlineImportDialog.java:170) at org.quelea.services.importexport.PlanningCenterOnlineImportDialog$UpdatePlanTask.call(PlanningCenterOnlineImportDialog.java:161) at javafx.concurrent.Task$TaskCallable.call(Task.java:1423) at java.util.concurrent.FutureTask.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of java.lang.String out of START_OBJECT token at [Source: UNKNOWN; line: -1, column: -1] (through reference chain: org.quelea.planningcenter.model.services.PlanTime[“team_reminders”]->java.util.ArrayList[0]) at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59) at com.fasterxml.jackson.databind.DeserializationContext.reportInputMismatch(DeserializationContext.java:1464) at com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1238) at com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1148) at com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseString(StdDeserializer.java:609) at com.fasterxml.jackson.databind.deser.std.StringCollectionDeserializer.deserialize(StringCollectionDeserializer.java:207) at com.fasterxml.jackson.databind.deser.std.StringCollectionDeserializer.deserialize(StringCollectionDeserializer.java:173) at com.fasterxml.jackson.databind.deser.std.StringCollectionDeserializer.deserialize(StringCollectionDeserializer.java:21) at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:293) at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:156) at com.fasterxml.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:4453) at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2696) at com.fasterxml.jackson.databind.ObjectMapper.treeToValue(ObjectMapper.java:3149) at com.github.jasminb.jsonapi.ResourceConverter.readObject(ResourceConverter.java:330) at com.github.jasminb.jsonapi.ResourceConverter.getIncludedResources(ResourceConverter.java:428) at com.github.jasminb.jsonapi.ResourceConverter.parseIncluded(ResourceConverter.java:388) at com.github.jasminb.jsonapi.ResourceConverter.readDocumentCollection(ResourceConverter.java:281) … 10 more
If you want temporarily my planning centre account to run some tests, please inform me.
I hope you help me to solve that problem and so I can use this awesome feature in our church.
Regards, Ricardo