Re: [O] properties using other properties

2018-01-24 Thread Ihor Radchenko
I recommend looking into org-edna
(http://www.nongnu.org/org-edna-el/#conditional_forms).
You can try to use "has-property" in combination with "set-property" as
a TRIGGER.

Alternatively, you can customize org-property-changed-functions (see
https://www.reddit.com/r/emacs/comments/7gr9ps/add_logbook_entry_and_note_on_orgmode_property/)
and reimplement org-edna functionality for your purposes.

Regards,
Ihor

cpb  writes:

> Is there a way to set properties using other properties?  Doesn't matter
> if its on export only, though it would be nice to have it in-situ.
>
> here's an example (obviously doesn't work), where a project properties
> for the project client only needs the CLIENT property filled, the rest
> of it automatically populates on export.  Would save having to duplicate
> the data where there are a lot of projects.
>
>
> * client1
> :PROPERTIES:
> :CUSTOM_ID:client1
> :NAME: a client
> :ADDRESS:  an address
> :EMAIL:an email
> :URL:  a website
> :END:
>
> * project1
> :PROPERTIES:
> :CUSTOM_ID:project1
> :NAME: a project
> :CLIENT:   client1
> :CLIENT_NAME:  {{{property(NAME,#{{{property(CLIENT)}}})}}}
> :CLIENT_ADDRESS:   {{{property(ADDRESS,#{{{property(CLIENT)}}})}}}
> :CLIENT_EMAIL: {{{property(EMAIL,#{{{property(CLIENT)}}})}}}
> :EXPORT_FILE_NAME: ./a_project
> :END:
>
> project: {{{property(NAME)}}}
> for: {{{property(CLIENT)}}}
>  {{{property(CLIENT_ADDRESS)}}}
>  {{{property(CLIENT_EMAIL)}}}
>

-- 
Ihor Radchenko,
PhD Student
Singapore University of Technology and Design,
8 Somapah Road Singapore 487372
Email: yanta...@gmail.com, ihor_radche...@mymail.sutd.edu.sg
Tel: +6584017977


signature.asc
Description: PGP signature


[O] properties using other properties

2018-01-22 Thread cpb

Is there a way to set properties using other properties?  Doesn't matter
if its on export only, though it would be nice to have it in-situ.

here's an example (obviously doesn't work), where a project properties
for the project client only needs the CLIENT property filled, the rest
of it automatically populates on export.  Would save having to duplicate
the data where there are a lot of projects.


* client1
:PROPERTIES:
:CUSTOM_ID:client1
:NAME: a client
:ADDRESS:  an address
:EMAIL:an email
:URL:  a website
:END:

* project1
:PROPERTIES:
:CUSTOM_ID:project1
:NAME: a project
:CLIENT:   client1
:CLIENT_NAME:  {{{property(NAME,#{{{property(CLIENT)}}})}}}
:CLIENT_ADDRESS:   {{{property(ADDRESS,#{{{property(CLIENT)}}})}}}
:CLIENT_EMAIL: {{{property(EMAIL,#{{{property(CLIENT)}}})}}}
:EXPORT_FILE_NAME: ./a_project
:END:

project: {{{property(NAME)}}}
for: {{{property(CLIENT)}}}
 {{{property(CLIENT_ADDRESS)}}}
 {{{property(CLIENT_EMAIL)}}}