Really stuck on this and would appreciate some guidance, so the scenario is I have Estate agent website and using ezSearch and CMSImport packages the Import process retrieves the details from an XML file the process can be setup on a scheduled task which I have done on a daily basis.
All is fine excepted after the scheduled task has finished running only 8 records appear instead of the expected 149 until I manually rebuild the Index or republish the nodes.
The xml import process that creates new umbraco nodes? If so then are they after import to publish if so then the publishing should add them to the index.
Or are you doing something different from what i am assuming?
It creates or updates nodes depending on if they already exist which this case they do exist already so its updating the records based on a PK there is an auto publish checkbox which is ticked so in theory yes are getting published but arent appearing on the site unless I rebuild the index mainly.
What version of umbraco are you using? Also what about if you create item manually then publish does that appear? Do you have an errors in your umbraco log file?
I am using version 7.5.8, if I create manually the new property appears fine but still not all the records are included.
Also going to the developer section in Umbraco and doing a lucene search on the indexer __NodeTypeAlias:umbPropertyDetails Only returns the 6 nodes as well so its like there not getting added to the index until I rebuild?
Just thought I mention also I have another import for lettings properties which works absolutely fine with the only difference being the number of records in this case 13.
Not sure if you can. Does an event fire after import has finished that we can tap into?
Andrew, you say you are rebuilding on start of app but how are you triggering the restart after import?
Also i found this from a while back written by Lars https://gist.github.com/lars-erik/f1d1e0226f5a552dc278 its a console app to rebuild index not sure if that helps you could run it via scheduled job after your import job runs maybe run it 10 mins after?
Ismial, Im having to manually trigger restart after import at the moment either publishing the entire site or rebuilding the index from the developer section in Umbraco.
While console app seems feasible would be great if the import could do this.
I can add a dll that does this after import, but to be honest I think an issue should be raised so this could be solved in the core of Umbraco. I am assuming people using the contentservice to import items have the same issue.
Also I have one more issue in the form of deleting old records as I have using an xpath expression //*[department/text()="Sales"] to do the import process:
So when I run the sales import which uses the above xpath its deleting the lettings properties and when I run the lettings import its deleting the sales properties can you please offer any advise on how to combat this please as having to mainly delete at the moment.
I would really appreciate the .dll as I am looking to setup hourly imports and at the moment not all of the sales properties will appear without reindexing.
And the delete is because your datasources and primary keys are the same. When you have a different primary key for each entry it will work. The delete option deletes everything that has the same key structure and where the id value is not importing.
I thought this was something to do with the xpath query being applied as I currently have separate imports for sales and lettings against different location nodes.
I thought that might be the case but I need the delete option as it means the client has to manually update the records.
Now the that the Import mappings are configured could I not just run a single import with out an xpath expression with the delete option selected against either sales or lettings location node and resolve the issue?
Or failing that could a new dll be created that picks up all the mapping not just the first set as then there would be no need for the xpath expression.
Maybe I have some time next week. to create that event, but adding extra properties to the xml datasource for the different types of imports is unfortunatly not included in free support. You can create a dataprovider for that, or let us built one for you.
Excellent Thank you really would be a life saver if that event can be added.
I have spoken to the xml feed provider in the first instance to see if the sales and lettings records could be separated into too xml files if not would be looking to get a quote for you building a data provider.
Examine not rebuilding after CMSImport
Hi all,
Really stuck on this and would appreciate some guidance, so the scenario is I have Estate agent website and using ezSearch and CMSImport packages the Import process retrieves the details from an XML file the process can be setup on a scheduled task which I have done on a daily basis.
All is fine excepted after the scheduled task has finished running only 8 records appear instead of the expected 149 until I manually rebuild the Index or republish the nodes.
I have tried so far http://stackoverflow.com/questions/6351992/umbraco-examine-index-not-updated which should rebuild the Index on start of the app.
And also ezSearch creates a class ezSearchBoostrapper.cs which implements the IApplicationEventHandler so I have added the below:
However neither seems to work unfortunately.
Andrew,
The xml import process that creates new umbraco nodes? If so then are they after import to publish if so then the publishing should add them to the index.
Or are you doing something different from what i am assuming?
Hi Ismail,
It creates or updates nodes depending on if they already exist which this case they do exist already so its updating the records based on a PK there is an auto publish checkbox which is ticked so in theory yes are getting published but arent appearing on the site unless I rebuild the index mainly.
This is the searcher:
Andrew,
What version of umbraco are you using? Also what about if you create item manually then publish does that appear? Do you have an errors in your umbraco log file?
Ismail,
I am using version 7.5.8, if I create manually the new property appears fine but still not all the records are included.
Also going to the developer section in Umbraco and doing a lucene search on the indexer __NodeTypeAlias:umbPropertyDetails Only returns the 6 nodes as well so its like there not getting added to the index until I rebuild?
Cant see any errors in the logs
https://drive.google.com/file/d/0BygevjZ0tzkRcXd3TU5TdlB3N1U/view?usp=sharing
Just thought I mention also I have another import for lettings properties which works absolutely fine with the only difference being the number of records in this case 13.
Hi Andrew,
If you take a look at the error log then you see Examine can't keep up with the import mass publish and therefore causes locking issues.
I don't know if you can tweek this, Ismail?
Best,
Richard
Richard,
Not sure if you can. Does an event fire after import has finished that we can tap into?
Andrew, you say you are rebuilding on start of app but how are you triggering the restart after import?
Also i found this from a while back written by Lars https://gist.github.com/lars-erik/f1d1e0226f5a552dc278 its a console app to rebuild index not sure if that helps you could run it via scheduled job after your import job runs maybe run it 10 mins after?
Regards
Ismial
I was hoping that there was an event that fires after the import that could be tapped into.
something that basically fires:
Ismial, Im having to manually trigger restart after import at the moment either publishing the entire site or rebuilding the index from the developer section in Umbraco.
While console app seems feasible would be great if the import could do this.
Thanks
Andrew
Hi,
I can add a dll that does this after import, but to be honest I think an issue should be raised so this could be solved in the core of Umbraco. I am assuming people using the contentservice to import items have the same issue.
Best,
Richard
Thank you richard and updated dll would be much appreciated and will get an issue raised.
Many Thanks
Andrew
Hi Richard,
Any progress on that .dll please?
Also I have one more issue in the form of deleting old records as I have using an xpath expression //*[department/text()="Sales"] to do the import process:
So when I run the sales import which uses the above xpath its deleting the lettings properties and when I run the lettings import its deleting the sales properties can you please offer any advise on how to combat this please as having to mainly delete at the moment.
Hi Andrew,
Not started with an additional dll have you raised a ticket on issues.umbraco.org as I suggested as well?
Best,
Richard
Hi Richard,
Ok no worries I have raised an issue http://issues.umbraco.org/issue/CON-1306
I would really appreciate the .dll as I am looking to setup hourly imports and at the moment not all of the sales properties will appear without reindexing.
And the delete is because your datasources and primary keys are the same. When you have a different primary key for each entry it will work. The delete option deletes everything that has the same key structure and where the id value is not importing.
Best,
Richard
Sorry I am a bit confused here the xml does contain a propertyID for the primary key for each record see example xml:
I thought this was something to do with the xpath query being applied as I currently have separate imports for sales and lettings against different location nodes.
Thanks
Andrew
Then it's best to not use the delete option since that will delete the records imported with the other definition in that case.
I thought that might be the case but I need the delete option as it means the client has to manually update the records.
Now the that the Import mappings are configured could I not just run a single import with out an xpath expression with the delete option selected against either sales or lettings location node and resolve the issue?
Or failing that could a new dll be created that picks up all the mapping not just the first set as then there would be no need for the xpath expression.
Maybe I have some time next week. to create that event, but adding extra properties to the xml datasource for the different types of imports is unfortunatly not included in free support. You can create a dataprovider for that, or let us built one for you.
Best,
Richard
Excellent Thank you really would be a life saver if that event can be added.
I have spoken to the xml feed provider in the first instance to see if the sales and lettings records could be separated into too xml files if not would be looking to get a quote for you building a data provider.
Best Regards
Andrew
is working on a reply...