Hi Josh,

The meta API specified in the docs 
(https://github.com/PirosB3/django/blob/meta_documentation/docs/ref/models/meta.txt)
 
is the current API. I have documented this in order to understand more of 
the current implementation and it will be good to show a comparison when a 
new meta API will be approved.

My current proposal (https://gist.github.com/PirosB3/371704ed40ed093d5a82) 
and it will be discussed tomorrow with Russell. I will post as soon as I 
have updates.

Daniel Pyrathon 

On Saturday, May 24, 2014 10:37:49 AM UTC+2, Josh Smeaton wrote:
>
> Hi Daniel,
>
> Nice work putting that document together. Is the meta document you put 
> together the current API or is it the API you are proposing? If the latter, 
> a few suggestions (and if others disagree, please point that out):
>
> - Remove all mention of caching. That should be an implementation detail 
> only, and not a requirement for other implementations.
> - the *_with_model methods really rub me up the wrong way. I would prefer 
> always returning the _with_model variant, and letting the caller discard 
> the model if they don't need it.
> - I'm not a fan of virtual and concrete fields, though I have to admit I'm 
> not sure how they're different, especially in the context of different 
> implementations.
> - Not sure that m2m should be differentiated from related.
> - init_name_map should be an implementation detail.
> - normalize_together should be an implementation detail.
>
> Regards,
>
> Josh
>
> On Saturday, 24 May 2014 05:05:02 UTC+10, Daniel Pyrathon wrote:
>>
>> Hi all,
>>
>> In the last days I have built a documentation of the current state of 
>> Options. Based on feedback and prototyping I have thought of a potential 
>> interface for _meta that can solve the issues currently present, such as 
>> redundancy (in code and in caching systems). The interface has also been 
>> thought to be maintainable and is a base that can be used to create custom 
>> meta stores.
>> Obviously this is far from perfect, It will need many iterations and 
>> maybe it is too complex. I would really love to gain as much feedback as 
>> possible so it can be discussed with Russell and the community on Monday.
>>
>> The documentation of _meta can be found here: 
>> https://github.com/PirosB3/django/blob/meta_documentation/docs/ref/models/meta.txt
>> I will be refining the document in the next days, I will also be 
>> publishing the docs on a webserver and will be linking a URL soon.
>>
>> My proposal has been published here:
>> https://gist.github.com/PirosB3/371704ed40ed093d5a82
>> In the next days I will be iterating over the feedback gained, and based 
>> on one very interesting suggestion on IRC, I will try to see how my API 
>> syntax looks in modelforms.py.
>>
>> As said previously, and feedback is greatly appreciated.
>>
>> Hi from Pycon IT!
>>
>> Daniel Pyrathon
>>
>> On Tuesday, May 20, 2014 3:25:45 PM UTC+2, Josh Smeaton wrote:
>>>
>>> Best of luck!
>>>
>>> On Tuesday, 20 May 2014 03:56:06 UTC+10, Daniel Pyrathon wrote:
>>>>
>>>> Hi All,
>>>>
>>>> Today I will be starting my weekly updates on my SoC project: 
>>>> refactoring Meta to a stable API. For anyone who missed out, you will be 
>>>> able to view it here: 
>>>> https://docs.google.com/document/d/1yp2_skqkxyrc0egdRv6ofnRGCI9nmvxDFBkCXgy0Jwo/edit
>>>>
>>>> This week is the first official week of SoC. Me and my mentor (Russell) 
>>>> are initially approaching the work in the following way:
>>>>
>>>>    - *Document the existing Meta API*
>>>>    For each endpoint, document the following:
>>>>      - Input parameters and return type
>>>>      - Caching pattern used
>>>>      - Where it's called from (internally and externally to Meta)
>>>>      - Why is it being called
>>>>      - When is it being called
>>>>    
>>>>    - *Propose an initial refactor plan*
>>>>    Once the documentation has been done, I should have a better idea 
>>>>    of the current implementation. This will allow me to mock a proposed 
>>>>    implementation that will be reviewed at my next update call, on Monday.
>>>>
>>>> My next update will be posted on Friday, just to make sure the 
>>>> community is informed of my progress. For any major updates that require 
>>>> community approval, I will be creating separate threads.
>>>> My name on the internet is pirosb3, so if you want to have a chat about 
>>>> my progress feel free to contact me! The branch I am currently working on 
>>>> is https://github.com/PirosB3/django/tree/meta_documentation
>>>>
>>>> Regards,
>>>> Daniel Pyrathon
>>>>
>>>
>> On Tuesday, May 20, 2014 3:25:45 PM UTC+2, Josh Smeaton wrote:
>>>
>>> Best of luck!
>>>
>>> On Tuesday, 20 May 2014 03:56:06 UTC+10, Daniel Pyrathon wrote:
>>>>
>>>> Hi All,
>>>>
>>>> Today I will be starting my weekly updates on my SoC project: 
>>>> refactoring Meta to a stable API. For anyone who missed out, you will be 
>>>> able to view it here: 
>>>> https://docs.google.com/document/d/1yp2_skqkxyrc0egdRv6ofnRGCI9nmvxDFBkCXgy0Jwo/edit
>>>>
>>>> This week is the first official week of SoC. Me and my mentor (Russell) 
>>>> are initially approaching the work in the following way:
>>>>
>>>>    - *Document the existing Meta API*
>>>>    For each endpoint, document the following:
>>>>      - Input parameters and return type
>>>>      - Caching pattern used
>>>>      - Where it's called from (internally and externally to Meta)
>>>>      - Why is it being called
>>>>      - When is it being called
>>>>    
>>>>    - *Propose an initial refactor plan*
>>>>    Once the documentation has been done, I should have a better idea 
>>>>    of the current implementation. This will allow me to mock a proposed 
>>>>    implementation that will be reviewed at my next update call, on Monday.
>>>>
>>>> My next update will be posted on Friday, just to make sure the 
>>>> community is informed of my progress. For any major updates that require 
>>>> community approval, I will be creating separate threads.
>>>> My name on the internet is pirosb3, so if you want to have a chat about 
>>>> my progress feel free to contact me! The branch I am currently working on 
>>>> is https://github.com/PirosB3/django/tree/meta_documentation
>>>>
>>>> Regards,
>>>> Daniel Pyrathon
>>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/2a319814-7580-4d82-ae84-cdbfacf05d9c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to