Thanks for this Adam. I tried applying your fixes, but clearly I must be 
missing some imports out, cause I get a DoesNotExist error on 
eamena.models.resource.Resource and, once that happens for the first time, 
even if I roll things back I am forced to raze elasticsearch and replace it 
with a backup copy. Could you by any chance post me the complete list of 
your imports on your app's resource.py.

Thanks,

Andrea

On Wednesday, May 4, 2016 at 7:44:37 PM UTC+1, Adam Cox wrote:
>
> Ok, here's how I just got this to work:
>
> If you go back to the arches.models.resource file, you'll find that there 
> are a set of functions that should be moved together, in order for them to 
> correctly reference each other. The first two are bulk_index() and 
> index().  Both of these functions call four other indexing functions, one 
> of which is prepare_documents_for_map_index(), which you are trying to 
> modify.  So, I'd recommend copying and pasted these six functions into your 
> resource.py file.
> bulk_index()
> index()
> prepare_documents_for_search_index()
> prepare_documents_for_map_index()
> prepare_terms_for_search_index()
> prepare_documents_for_report_index()
>
> You'll also have to add (at least)
> from arches.app.models.entity import Entity
> to the top of your resource.py file.  I already had some extra import 
> statements in mine when I did this, so there may something missing for you 
> when you try this.
>
> After adding those functions to my resource.py file, the map popup info 
> was updated as desired.  Note that the index() function is called on a 
> resource any time you save a new node to it, so if it's not working right 
> away, edit the resource, save it, and return to the map view.
>
> Let me know if that works.
>
> Adam
>
> On Wed, May 4, 2016 at 12:06 PM, Adam Cox <[email protected] 
> <javascript:>> wrote:
>
>> Sounds good.  The .pyc file is a compiled version of a .py file which 
>> means that your resource.py file has been used by the app.  One thing I do 
>> all the time is add print statements within functions to double check that 
>> they are being called.  Just inside the prepare_documents_for_map_index 
>> function, try adding print "prepare_documents_for_map_index IS BEING USED" 
>> or something.  Then watch the server console output.
>>
>> I haven't had to modify that function yet, but if a simple modification 
>> to it is not reflected, you may need to do a little sleuthing, because it's 
>> possible that it is only called from inside the arches "site-package", in 
>> which case you may need to migrate more functions to your own app and 
>> change some import statements.  Alexei would have a better handle on that 
>> right now than I do...
>>
>> Adam 
>>
>> On Wed, May 4, 2016 at 11:51 AM, <[email protected] <javascript:>> 
>> wrote:
>>
>>> Not only did I do that Adam, I also tried deleting both resource.py 
>>> files from my app and the Arches-HIP folder structure. No effect 
>>> whatsoever. 
>>>
>>> A small update though. It would appear that, by setting up the 
>>> RESOURCE_MODEL path as you indicated and after restarting Postgres.app, I 
>>> finally got django to re-render resource.pyc in my app folder (which I had 
>>> deleted) - so the source file was finally accessed. However, once again 
>>> there has been no change in the entity_data default string, which still 
>>> gets displayed in the Resource map popup as 'None specified' despite my 
>>> having changed it to 'None' in resource.py.
>>>
>>> I look forward to more ideas,
>>>
>>> Andrea
>>>
>>>
>>> On Wednesday, May 4, 2016 at 6:39:30 PM UTC+1, Adam Cox wrote:
>>>>
>>>> That's very strange.  Just to confirm: you copied the 
>>>> arches_hip/models/resource.py file, pasted it into the corresponding 
>>>> directory of your own app, and then changed the RESOURCE_MODEL as 
>>>> described 
>>>> above, correct?  That's all you should need to do...
>>>>
>>>> On Wed, May 4, 2016 at 11:23 AM, <[email protected]> wrote:
>>>>
>>>>> Hi Alexei, I am not using Apache. I edit our app on a Mac Yosemite 
>>>>> installation with Postgres.app. I should add that other .py files, like 
>>>>> settings.py, can be modified 'on the fly' and changes are recognised by 
>>>>> the 
>>>>> app. It would appear that resource.py is an exception. I thought it could 
>>>>> be a Django cache issue, but the MIDDLEWARE parameters in the settings.py 
>>>>> file of Arches do not seem to include the caching ones, so this also 
>>>>> proved 
>>>>> to be a dead end. 
>>>>>
>>>>> Any other ideas?
>>>>>
>>>>> Andrea
>>>>>
>>>>>
>>>>> On Wednesday, May 4, 2016 at 6:02:40 PM UTC+1, Alexei Peters wrote:
>>>>>>
>>>>>> Hi Andrea,
>>>>>> If you're using Apache, make sure to restart it after editing any .py 
>>>>>> file.
>>>>>> Cheers,
>>>>>> Alexei
>>>>>>
>>>>>>
>>>>>> Director of Web Development - Farallon Geographics, Inc. - 
>>>>>> 971.227.3173
>>>>>>
>>>>>> On Wed, May 4, 2016 at 8:54 AM, <[email protected]> wrote:
>>>>>>
>>>>>>> Thanks Adam, I have tried adding the string below,  - still no 
>>>>>>> *.pyc. I even tried commenting off the RESOURCE_MODEL in the HIP 
>>>>>>> settings 
>>>>>>> (the default there is: RESOURCE_MODEL = {'default': 
>>>>>>> 'arches_hip.models.resource.Resource'}), still nothing. This is what 
>>>>>>> the 
>>>>>>> top of my settings.py in my app looks like now:
>>>>>>>
>>>>>>> PACKAGE_ROOT = 
>>>>>>> os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
>>>>>>> PACKAGE_NAME = PACKAGE_ROOT.split(os.sep)[-1]
>>>>>>> DATABASES['default']['NAME'] = 'arches_%s' % (PACKAGE_NAME)
>>>>>>> DATABASES['default']['POSTGIS_TEMPLATE'] = 'template_postgis'
>>>>>>>
>>>>>>> ROOT_URLCONF = '%s.urls' % (PACKAGE_NAME)
>>>>>>>
>>>>>>> INSTALLED_APPS = INSTALLED_APPS + (PACKAGE_NAME,)
>>>>>>> STATICFILES_DIRS = (os.path.join(PACKAGE_ROOT, 'media'),) + 
>>>>>>> STATICFILES_DIRS
>>>>>>> TEMPLATE_DIRS = (os.path.join(PACKAGE_ROOT, 
>>>>>>> 'templates'),os.path.join(PACKAGE_ROOT, 'templatetags')) + TEMPLATE_DIRS
>>>>>>>
>>>>>>> # Absolute filesystem path to the directory that will hold 
>>>>>>> user-uploaded files.
>>>>>>> MEDIA_ROOT =  os.path.join(PACKAGE_ROOT, 'uploadedfiles')
>>>>>>>
>>>>>>>
>>>>>>> RESOURCE_MODEL = {'default': 
>>>>>>> '{}.models.resource.Resource'.format(PACKAGE_NAME)}
>>>>>>>
>>>>>>>
>>>>>>> Thanks for your help.
>>>>>>>
>>>>>>> Andrea
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Wednesday, May 4, 2016 at 3:00:46 PM UTC+1, Adam Cox wrote:
>>>>>>>>
>>>>>>>> Hi Andrea, you need to explicitly set your resource model in your 
>>>>>>>> settings.py file. Something like this:
>>>>>>>>
>>>>>>>> RESOURCE_MODEL = {'default': 
>>>>>>>> '{}.models.resource.Resource'.format(PACKAGE_NAME)}
>>>>>>>>
>>>>>>>> Once you run the app, you should see a .pyc file appear next to 
>>>>>>>> your app's models/resource.py file, meaning that it's now in use.
>>>>>>>>
>>>>>>>> Adam
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, May 4, 2016 at 6:53 AM, <[email protected]> wrote:
>>>>>>>>
>>>>>>>>> Hello All,
>>>>>>>>>
>>>>>>>>> I am having an issue with modifying resource.py both in my 
>>>>>>>>> installation of Arches and on the Arches-HIP. I am trying to modify 
>>>>>>>>> the 
>>>>>>>>> fields that are mapped as geojson (i.e. the section covered by the 
>>>>>>>>> function prepare_documents_for_map_index()). However, whenever I 
>>>>>>>>> modify 
>>>>>>>>> something within this function, it would appear that Django does not 
>>>>>>>>> re-read my .py source file. I even tried to delete resource.py and 
>>>>>>>>> its .pyc 
>>>>>>>>> , and did the same with the corresponding files in the HIP. Still 
>>>>>>>>> nothing. 
>>>>>>>>> It would seem that the py file is not called. I thought it might be 
>>>>>>>>> an 
>>>>>>>>> elasticsearch issue, but then I re-ran it and nothing changed. It 
>>>>>>>>> would 
>>>>>>>>> appear that resource.py does not get called, which is strange since I 
>>>>>>>>> would 
>>>>>>>>> have expected prepare_documents_for_map_index() to be called when 
>>>>>>>>> visualising records with the Location Filter. 
>>>>>>>>>
>>>>>>>>> Please note that I tried to modify static strings such as the 
>>>>>>>>> default entity_data=_('None specified'), to no avail.
>>>>>>>>>
>>>>>>>>> Can you help? 
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>>
>>>>>>>>> Andrea
>>>>>>>>>
>>>>>>>>> -- 
>>>>>>>>> -- To post, send email to [email protected]. To 
>>>>>>>>> unsubscribe, send email to [email protected]. For 
>>>>>>>>> more information, visit 
>>>>>>>>> https://groups.google.com/d/forum/archesproject?hl=en
>>>>>>>>> --- 
>>>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>>>> Groups "Arches Project" group.
>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>>>> send an email to [email protected].
>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>
>>>>>>>>
>>>>>>>> -- 
>>>>>>> -- To post, send email to [email protected]. To 
>>>>>>> unsubscribe, send email to [email protected]. For 
>>>>>>> more information, visit 
>>>>>>> https://groups.google.com/d/forum/archesproject?hl=en
>>>>>>> --- 
>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>> Groups "Arches Project" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>> send an email to [email protected].
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>
>>>>>> -- 
>>>>> -- To post, send email to [email protected]. To unsubscribe, 
>>>>> send email to [email protected]. For more information, 
>>>>> visit https://groups.google.com/d/forum/archesproject?hl=en
>>>>> --- 
>>>>> You received this message because you are subscribed to the Google 
>>>>> Groups "Arches Project" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>> an email to [email protected].
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>> -- 
>>> -- To post, send email to [email protected] <javascript:>. To 
>>> unsubscribe, send email to [email protected] 
>>> <javascript:>. For more information, visit 
>>> https://groups.google.com/d/forum/archesproject?hl=en
>>> --- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Arches Project" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected] <javascript:>.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>

-- 
-- To post, send email to [email protected]. To unsubscribe, send 
email to [email protected]. For more information, 
visit https://groups.google.com/d/forum/archesproject?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Arches Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to