Hello,

So, we now believe (thanks to some detective work by Alan) that the taverna
player portal can return info about the input ports using GET
/runs/new?workflow_id={id} which returns a JSON document.
See
https://github.com/myGrid/taverna-player/wiki/JSON-API-Documentation#get-runsnewworkflow_idid

Lets not worry about mime types right now. Maybe in future we could change
the player to send the mime types as well.

Cheers,

Ian

On 23 September 2016 at 15:02, Stian Soiland-Reyes <[email protected]> wrote:

> Great!
>
> Note it does not build with Java 7 (using docker run -it maven:3-jdk-7):
>
> [ERROR] Failed to execute goal
> org.apache.maven.plugins:maven-javadoc-plugin:2.10.3:jar
> (attach-javadocs) on project taverna-baclava-language:
> MavenReportException: Error while generating Javadoc:
> [ERROR] Exit code: 1 - javadoc: error - invalid flag: -Xdoclint:none
>
> I think because the -Xdoclint option is not recognized.  However we
> don't claim it would BUILD with Java 7 - so that's OK.
>
> (it works with -Dmaven.javadoc.skip=true)
>
>
> But I guess also then our dependencies then can't be Java 8 in the
> Android profile.. for instance jena.version is set to 3.1.0 which
> requires JDK 8:
>
> root@fc2a5ed3ebd6:~/.m2/repository# file
> org/apache/jena/web/DatasetGraphAccessorBasic.class
> org/apache/jena/web/DatasetGraphAccessorBasic.class: compiled Java
> class data, version 52.0
>
>
>
>
>
> On 23 September 2016 at 13:00, Ian Dunlop <[email protected]> wrote:
> > Hello,
> >
> > taverna-language pom profile added for android. Another default profile
> had
> > to be added as wel which you get if you do a normal mvn  installl.  For
> the
> > Android Java7 profile use:
> >
> > mvn -P android clean install
> >
> > If we decide to use this in the app then maybe we should ban Java8+
> > features from some of the modules
> >
> > Cheers,
> >
> > Ian
> >
> > On 15 September 2016 at 11:48, Stian Soiland-Reyes <[email protected]>
> wrote:
> >
> >> I think you won't get the annotation content for the mimetype without
> also
> >> using
> >> https://taverna.incubator.apache.org/javadoc/taverna-
> >> language/org/apache/taverna/scufl2/annotation/AnnotationTools.html
> >>
> >> but that would add dependency on Jena, which latest versions require
> >> Java 7 and I'm not sure if it works well on Android.
> >>
> >>
> >> Perhaps using just the XSD mapping from taverna-scufl2-t2flow would be
> >> a bit easier? You still need to trundle through the annotations which
> >> in .t2flow were serialized in a perhaps awkward way (an annotation
> >> chain which then contains a set of revisioned annotations).
> >>
> >>
> >>
> >> On 15 September 2016 at 11:29, Ian Dunlop <[email protected]> wrote:
> >> > Hello,
> >> >
> >> > @sagar did you use the maven profile idea? If so could you send a pull
> >> > request so that we can keep this for the future.
> >> >
> >> > I've never used the scufl2-api. I did find
> >> > https://taverna.incubator.apache.org/javadoc/taverna-
> >> language/org/apache/taverna/scufl2/api/core/Workflow.html#
> getInputPorts--
> >> > which has
> >> > https://taverna.incubator.apache.org/javadoc/taverna-
> >> language/org/apache/taverna/scufl2/api/common/Named.html#getName--
> >> > I remember from way back that the mime types were hidden inside an
> >> > annotation on the port. So maybe try
> >> > https://taverna.incubator.apache.org/javadoc/taverna-
> >> language/org/apache/taverna/scufl2/api/common/AbstractNamed.html#
> >> getAnnotations--
> >> > and have a look at what is there.
> >> >
> >> > Cheers,
> >> >
> >> > Ian
> >> >
> >> > On 15 September 2016 at 10:36, Sagar <[email protected]>
> wrote:
> >> >
> >> >> Hi,
> >> >>
> >> >> I have build taverna-scufl2-api as jar using java 7 .
> >> >>
> >> >> Can you tell me how to use it to get all input and output MIME type
> and
> >> >> their name?
> >> >>
> >> >>
> >> >> On Mon, Sep 12, 2016 at 6:05 PM, Stian Soiland-Reyes <
> [email protected]>
> >> >> wrote:
> >> >>
> >> >> > Thanks - from this I would say Taverna Mobile can target KitKat
> (API
> >> >> > level 19), get 80% share - which would rise by the time we release
> the
> >> >> > app.
> >> >> >
> >> >> > But that still grounds us on Java 6 features - and even in latest
> >> >> > Android SDK API the package java.nio.file is not there - so
> robundle
> >> >> > would not work anyway.
> >> >> >
> >> >> > On 8 September 2016 at 19:24, Gale Naylor <
> >> [email protected]>
> >> >> > wrote:
> >> >> > > Here is the distribution of Android API levels in use as of Aug
> 1:
> >> >> > > https://developer.android.com/about/dashboards/index.html
> >> >> > >
> >> >> > > According to this, only 15% of all Android devices are running
> API
> >> 23.
> >> >> > >
> >> >> > >
> >> >> > > On Thu, Sep 8, 2016 at 6:29 AM Ian Dunlop <[email protected]>
> >> >> wrote:
> >> >> > >
> >> >> > >> Hello,
> >> >> > >>
> >> >> > >> That page is typically clear as mud! I think it is implying that
> >> jdk 7
> >> >> > is
> >> >> > >> fine for all API levels but for jdk 8 you need API 23 and (if
> >> special
> >> >> > >> language features required) a different compiler. So as long as
> we
> >> >> don't
> >> >> > >> use jdk 8 features we will be ok (maybe).  I guess that means
> >> >> > >> taverna-language can be used (until we go all lambda crazy).
> >> >> > >>
> >> >> > >> Cheers,
> >> >> > >>
> >> >> > >> Ian
> >> >> > >>
> >> >> > >> On 8 September 2016 at 14:24, Stian Soiland-Reyes <
> >> [email protected]>
> >> >> > >> wrote:
> >> >> > >>
> >> >> > >> > I don't think we use any Java 8 features in taverna-language
> >> (e.g.
> >> >> > >> > Stream or lambdas) - but taverna-robundle use java.nio.Path
> from
> >> >> Java
> >> >> > >> > 7.  I think it should be possible to make a subset of
> >> >> Taverna-language
> >> >> > >> > you need compile for JAva 6 (e.g. taverna-scufl2-api,
> >> >> > >> > taverna-scufl2-t2flow and taverna-scufl2-ucfpackage) - perhaps
> >> as a
> >> >> > >> > Maven profile?
> >> >> > >> >
> >> >> > >> > https://developer.android.com/guide/platform/j8-jack.html
> says
> >> you
> >> >> > can
> >> >> > >> > use Java 7/8 features from API level 23-24.
> >> >> > >> >
> >> >> > >> > How do we decide which Android API level we want to support..?
> >> >> > >> >
> >> >> > >> > On 8 September 2016 at 10:56, Sagar <
> [email protected]>
> >> >> > wrote:
> >> >> > >> > > Hi,
> >> >> > >> > >
> >> >> > >> > > I was reading the readme and I found Taverna-language-API
> will
> >> >> only
> >> >> > >> work
> >> >> > >> > > with JAVA 8 and newer.
> >> >> > >> > > We can't use in taverna-mobile because Android API 16 works
> >> with
> >> >> > JAVA
> >> >> > >> 6.
> >> >> > >> > >
> >> >> > >> > > So, Now provide me with the schema of the .t2flow file.
> >> >> > >> > >
> >> >> > >> > > Thanks
> >> >> > >> > >
> >> >> > >> > > On Thu, Sep 8, 2016 at 2:13 PM, Sagar <
> >> [email protected]>
> >> >> > >> wrote:
> >> >> > >> > >
> >> >> > >> > >> Hi,
> >> >> > >> > >>
> >> >> > >> > >> How can I use the taverna-language API to know what will
> the
> >> >> inputs
> >> >> > >> and
> >> >> > >> > >> what will the outputs of workflow?
> >> >> > >> > >>
> >> >> > >> > >> I don't get any proper guide or code.
> >> >> > >> > >>
> >> >> > >> > >> Thanks
> >> >> > >> > >>
> >> >> > >> > >> On Fri, Sep 2, 2016 at 6:37 PM, Stian Soiland-Reyes <
> >> >> > [email protected]
> >> >> > >> >
> >> >> > >> > >> wrote:
> >> >> > >> > >>
> >> >> > >> > >>> Yes, you should use taverna-language to load the .t2flow
> and
> >> >> > inspect
> >> >> > >> > it.
> >> >> > >> > >>>
> >> >> > >> > >>> You should not really need to make any Java beans for it
> as
> >> the
> >> >> > >> > >>> workflow wouldn't be constructed on the phone (although
> you
> >> >> could
> >> >> > do
> >> >> > >> > >>> that with the Taverna Language API), but loaded from
> >> $somewhere
> >> >> as
> >> >> > >> > >>> previously saved from the Taverna Workbench or downloaded
> >> from
> >> >> > >> > >>> myExperiment - however you can use the API to inspect the
> >> >> > workflow,
> >> >> > >> > >>> e.g. list the input port names of the main workflow.
> >> >> > >> > >>>
> >> >> > >> > >>>
> >> >> > >> > >>> See:
> >> >> > >> > >>>
> >> >> > >> > >>> https://taverna.incubator.apache.org/download/language/
> >> >> > >> > >>>
> >> >> > >> > >>> Javadoc:
> >> >> > >> > >>> https://taverna.incubator.apache.org/javadoc/taverna-
> languag
> >> >> > >> > >>> e/org/apache/taverna/scufl2/api/package-summary.html
> >> >> > >> > >>>
> >> >> > >> > >>> Example:
> >> >> > >> > >>> https://github.com/apache/incubator-taverna-language/
> blob/
> >> >> > >> > >>> master/taverna-scufl2-examples/src/main/java/org/apache/
> >> >> > >> > >>> taverna/examples/ProcessorNames.java
> >> >> > >> > >>>
> >> >> > >> > >>> On 29 August 2016 at 14:39, Ian Dunlop <
> [email protected]
> >> >
> >> >> > wrote:
> >> >> > >> > >>> > Hello,
> >> >> > >> > >>> >
> >> >> > >> > >>> > There is an xsd for t2flow available in the
> >> taverna-language
> >> >> > module
> >> >> > >> > >>> > https://github.com/apache/incubator-taverna-language/
> blob/
> >> >> > >> > >>> master/taverna-scufl2-t2flow/
> src/main/resources/org/apache/
> >> >> > >> > >>> taverna/scufl2/translator/t2flow/xsd/t2flow.xsd
> >> >> > >> > >>> > You should be able to re-use taverna-language to parse
> >> t2flow
> >> >> > >> rather
> >> >> > >> > >>> than
> >> >> > >> > >>> > build your own parser. Perhaps using
> >> >> > >> > >>> > https://github.com/apache/incubator-taverna-language/
> tree/
> >> >> > >> > >>> master/taverna-scufl2-t2flow.
> >> >> > >> > >>> > No readme though. Maybe some other devs can advise how
> to
> >> use
> >> >> > it.
> >> >> > >> > >>> >
> >> >> > >> > >>> > Cheers,
> >> >> > >> > >>> >
> >> >> > >> > >>> > Ian
> >> >> > >> > >>> >
> >> >> > >> > >>> > On 28 August 2016 at 18:23, Sagar <
> >> [email protected]>
> >> >> > >> wrote:
> >> >> > >> > >>> >
> >> >> > >> > >>> >> Hi,
> >> >> > >> > >>> >>
> >> >> > >> > >>> >> Is there any predefined tree structure for t2flow xml
> >> file ?
> >> >> > >> > >>> >>
> >> >> > >> > >>> >> if yes, then provide me so that I am able to create
> java
> >> >> beans
> >> >> > for
> >> >> > >> > it.
> >> >> > >> > >>> >> otherwise, I will create it according to any t2flow xml
> >> file.
> >> >> > >> > >>> >>
> >> >> > >> > >>> >> Please revert ASAP.
> >> >> > >> > >>> >>
> >> >> > >> > >>> >> Thanks
> >> >> > >> > >>> >>
> >> >> > >> > >>> >> On Fri, Aug 26, 2016 at 3:54 PM, Finn Bacall <
> >> >> > >> > >>> [email protected]
> >> >> > >> > >>> >> >
> >> >> > >> > >>> >> wrote:
> >> >> > >> > >>> >>
> >> >> > >> > >>> >> > This wouldn't be that hard to implement, you can get
> the
> >> >> > unique
> >> >> > >> ID
> >> >> > >> > >>> for
> >> >> > >> > >>> >> the
> >> >> > >> > >>> >> > workflow from the parser gem, see:
> >> >> > >> > >>> >> >
> >> >> > >> > >>> >> > https://github.com/myExperiment/workflow_parser-
> >> >> t2flow/blob/
> >> >> > >> > >>> >> > master/lib/t2flow/model.rb#L136
> >> >> > >> > >>> >> >
> >> >> > >> > >>> >> > Then you'd just need to extract it in the parsing
> >> method:
> >> >> > >> > >>> >> >
> >> >> > >> > >>> >> > https://github.com/myGrid/
> taverna-player-portal/blob/
> >> >> master/
> >> >> > >> > >>> >> > app/models/workflow.rb#L40
> >> >> > >> > >>> >> >
> >> >> > >> > >>> >> > and store it in a new field in the database.
> >> >> > >> > >>> >> >
> >> >> > >> > >>> >> > Cheers,
> >> >> > >> > >>> >> >
> >> >> > >> > >>> >> > Finn
> >> >> > >> > >>> >> >
> >> >> > >> > >>> >> >
> >> >> > >> > >>> >> > On 26/08/2016 09:32, Ian Dunlop wrote:
> >> >> > >> > >>> >> >
> >> >> > >> > >>> >> >> Hello,
> >> >> > >> > >>> >> >>
> >> >> > >> > >>> >> >> I think you are pretty much spot on with your
> >> diagnosis. I
> >> >> > >> agree
> >> >> > >> > it
> >> >> > >> > >>> is a
> >> >> > >> > >>> >> >> bit of a pain that the workflow ids are different.
> >> >> However,
> >> >> > >> each
> >> >> > >> > >>> >> workflow
> >> >> > >> > >>> >> >> does have a unique uuid internally (with t2flow
> >> anyway) so
> >> >> > that
> >> >> > >> > >>> could be
> >> >> > >> > >>> >> >> used to check if a workflow on myexperiment and the
> >> portal
> >> >> > are
> >> >> > >> > the
> >> >> > >> > >>> same.
> >> >> > >> > >>> >> >> Look for the element <dataflow
> >> >> id="0f5e83c1-bbb5-42e7-9ba3-
> >> >> > >> > >>> >> 438f645d3d17"
> >> >> > >> > >>> >> >> role="top"> in a t2flow file. This probably means
> that
> >> the
> >> >> > >> portal
> >> >> > >> > >>> would
> >> >> > >> > >>> >> >> need an extension to search by workflow uuid. For
> now I
> >> >> > would
> >> >> > >> > just
> >> >> > >> > >>> treat
> >> >> > >> > >>> >> >> each run as having a unique workflow and we can
> always
> >> >> > improve
> >> >> > >> it
> >> >> > >> > >>> later.
> >> >> > >> > >>> >> >>
> >> >> > >> > >>> >> >> Cheers,
> >> >> > >> > >>> >> >>
> >> >> > >> > >>> >> >> Ian
> >> >> > >> > >>> >> >>
> >> >> > >> > >>> >> >> On 26 August 2016 at 08:02, Sagar <
> >> >> > [email protected]>
> >> >> > >> > >>> wrote:
> >> >> > >> > >>> >> >>
> >> >> > >> > >>> >> >> Hello,
> >> >> > >> > >>> >> >>>
> >> >> > >> > >>> >> >>> Thank you for providing code. Now, I am working on
> it.
> >> >> > >> > >>> >> >>>
> >> >> > >> > >>> >> >>> Currently, I have understood that I need following
> >> steps
> >> >> to
> >> >> > >> run
> >> >> > >> > a
> >> >> > >> > >>> >> >>> workflow
> >> >> > >> > >>> >> >>> on taverna player portal
> >> >> > >> > >>> >> >>>
> >> >> > >> > >>> >> >>> 1) Download workflow content.
> >> >> > >> > >>> >> >>> 2) Upload it to taverna player portal.
> >> >> > >> > >>> >> >>> 3) Run it on taverna player portal.
> >> >> > >> > >>> >> >>> 4) Show output of the complete workflow's run.
> >> >> > >> > >>> >> >>>
> >> >> > >> > >>> >> >>> I have also understood that there is no link
> between
> >> >> > >> > myExperiment
> >> >> > >> > >>> >> >>> workflow
> >> >> > >> > >>> >> >>> and Taverna Player workflow that's why I can't
> retain
> >> >> > >> > >>> myExperiment's
> >> >> > >> > >>> >> >>> workflow running history on Taverna player portal
> and
> >> >> also
> >> >> > I
> >> >> > >> > can't
> >> >> > >> > >>> >> search
> >> >> > >> > >>> >> >>> the same workflow in taverna player portal. For
> each
> >> new
> >> >> > run,
> >> >> > >> I
> >> >> > >> > >>> have to
> >> >> > >> > >>> >> >>> upload it again.
> >> >> > >> > >>> >> >>>
> >> >> > >> > >>> >> >>>
> >> >> > >> > >>> >> >>> If I have understood correct then Please revert
> back .
> >> >> > >> > >>> >> >>>
> >> >> > >> > >>> >> >>> If not then, Please correct me.
> >> >> > >> > >>> >> >>>
> >> >> > >> > >>> >> >>> Thanks
> >> >> > >> > >>> >> >>>
> >> >> > >> > >>> >> >>>
> >> >> > >> > >>> >> >>> On Wed, Aug 24, 2016 at 8:48 PM, Ian Dunlop <
> >> >> > >> > [email protected]>
> >> >> > >> > >>> >> >>> wrote:
> >> >> > >> > >>> >> >>>
> >> >> > >> > >>> >> >>> Hello,
> >> >> > >> > >>> >> >>>>
> >> >> > >> > >>> >> >>>> This is where the upload code is in the current
> >> mobile
> >> >> > code
> >> >> > >> > >>> >> >>>> https://github.com/apache/
> >> >> incubator-taverna-mobile/blob/
> >> >> > >> > >>> >> >>>> 4daa91d3f42b5a4474303fd39c7a7e
> >> >> > c1483cebff/app/src/main/java/
> >> >> > >> > >>> >> >>>> org/apache/taverna/mobile/
> fragments/workflowdetails/
> >> >> > >> > >>> >> >>>> WorkflowdetailFragment.java#L655
> >> >> > >> > >>> >> >>>>
> >> >> > >> > >>> >> >>>> Cheers,
> >> >> > >> > >>> >> >>>>
> >> >> > >> > >>> >> >>>> Ian
> >> >> > >> > >>> >> >>>>
> >> >> > >> > >>> >> >>>> On 24 August 2016 at 14:40, Ian Dunlop <
> >> >> > [email protected]
> >> >> > >> >
> >> >> > >> > >>> wrote:
> >> >> > >> > >>> >> >>>>
> >> >> > >> > >>> >> >>>> Hello,
> >> >> > >> > >>> >> >>>>>
> >> >> > >> > >>> >> >>>>> That upload code should already be available in
> the
> >> >> > mobile
> >> >> > >> > app.
> >> >> > >> > >>> >> Larry,
> >> >> > >> > >>> >> >>>>> myself and Finn spent a few hours figuring all
> that
> >> >> stuff
> >> >> > >> out
> >> >> > >> > >>> last
> >> >> > >> > >>> >> time
> >> >> > >> > >>> >> >>>>> round.
> >> >> > >> > >>> >> >>>>> I have added an API call in the
> >> taverna-player-portal
> >> >> to
> >> >> > get
> >> >> > >> > the
> >> >> > >> > >>> runs
> >> >> > >> > >>> >> >>>>>
> >> >> > >> > >>> >> >>>> for
> >> >> > >> > >>> >> >>>
> >> >> > >> > >>> >> >>>> a user eg /users/1/runs. Pull request waiting in
> >> github
> >> >> > (hint
> >> >> > >> > hint
> >> >> > >> > >>> >> >>>>>
> >> >> > >> > >>> >> >>>> Finn). I
> >> >> > >> > >>> >> >>>>
> >> >> > >> > >>> >> >>>>> even added some tests.
> >> >> > >> > >>> >> >>>>>
> >> >> > >> > >>> >> >>>>> Cheers,
> >> >> > >> > >>> >> >>>>>
> >> >> > >> > >>> >> >>>>> Ian
> >> >> > >> > >>> >> >>>>>
> >> >> > >> > >>> >> >>>>> On 24 August 2016 at 10:57, Finn Bacall <
> >> >> > >> > >>> >> [email protected]>
> >> >> > >> > >>> >> >>>>> wrote:
> >> >> > >> > >>> >> >>>>>
> >> >> > >> > >>> >> >>>>> On 23/08/2016 11:38, Sagar wrote:
> >> >> > >> > >>> >> >>>>>>
> >> >> > >> > >>> >> >>>>>> Hi,
> >> >> > >> > >>> >> >>>>>>>
> >> >> > >> > >>> >> >>>>>>> I think there is some problem as mention below
> >> >> > >> > >>> >> >>>>>>>
> >> >> > >> > >>> >> >>>>>>> 1) How can I upload a workflow using API ?
> >> >> > >> > >>> >> >>>>>>>
> >> >> > >> > >>> >> >>>>>>> here's a gist of some Java code someone wrote
> to
> >> >> > upload a
> >> >> > >> > >>> workflow
> >> >> > >> > >>> >> to
> >> >> > >> > >>> >> >>>>>>
> >> >> > >> > >>> >> >>>>> the
> >> >> > >> > >>> >> >>>>
> >> >> > >> > >>> >> >>>>> portal:
> >> >> > >> > >>> >> >>>>>> https://gist.github.com/larrytech7/
> >> >> 957cc61a3bdd82e3e030
> >> >> > >> > >>> >> >>>>>>
> >> >> > >> > >>> >> >>>>>> Basically the format is:
> >> >> > >> > >>> >> >>>>>>
> >> >> > >> > >>> >> >>>>>>      { "workflow" : { "document" :
> >> >> > "data:application/octet-
> >> >> > >> > >>> >> >>>>>>
> >> >> > >> > >>> >> >>>>> stream;base64,<<<Insert
> >> >> > >> > >>> >> >>>>
> >> >> > >> > >>> >> >>>>> base64 encoded workflow here>>>" } }
> >> >> > >> > >>> >> >>>>>>
> >> >> > >> > >>> >> >>>>>> Finn
> >> >> > >> > >>> >> >>>>>>
> >> >> > >> > >>> >> >>>>>>
> >> >> > >> > >>> >> >>>>>
> >> >> > >> > >>> >> >>>
> >> >> > >> > >>> >> >>> --
> >> >> > >> > >>> >> >>>
> >> >> > >> > >>> >> >>> *With warm regards  *
> >> >> > >> > >>> >> >>> *Sincerely yours*
> >> >> > >> > >>> >> >>> Sagar
> >> >> > >> > >>> >> >>>
> >> >> > >> > >>> >> >>>
> >> >> > >> > >>> >> >>> *Student ,(7th Semester )B.Tech IT and mathematical
> >> >> > >> innovation*
> >> >> > >> > >>> >> >>> *Cluster Innovation Centre*
> >> >> > >> > >>> >> >>> *University of Delhi *
> >> >> > >> > >>> >> >>>
> >> >> > >> > >>> >> >>>
> >> >> > >> > >>> >> >
> >> >> > >> > >>> >>
> >> >> > >> > >>> >>
> >> >> > >> > >>> >> --
> >> >> > >> > >>> >>
> >> >> > >> > >>> >> *With warm regards  *
> >> >> > >> > >>> >> *Sincerely yours*
> >> >> > >> > >>> >> Sagar
> >> >> > >> > >>> >>
> >> >> > >> > >>> >>
> >> >> > >> > >>> >> *Student ,(7th Semester )B.Tech IT and mathematical
> >> >> innovation*
> >> >> > >> > >>> >> *Cluster Innovation Centre*
> >> >> > >> > >>> >> *University of Delhi *
> >> >> > >> > >>> >>
> >> >> > >> > >>>
> >> >> > >> > >>>
> >> >> > >> > >>>
> >> >> > >> > >>> --
> >> >> > >> > >>> Stian Soiland-Reyes
> >> >> > >> > >>> Apache Taverna (incubating), Apache Commons
> >> >> > >> > >>> http://orcid.org/0000-0001-9842-9718
> >> >> > >> > >>>
> >> >> > >> > >>
> >> >> > >> > >>
> >> >> > >> > >>
> >> >> > >> > >> --
> >> >> > >> > >>
> >> >> > >> > >> *With warm regards  *
> >> >> > >> > >> *Sincerely yours*
> >> >> > >> > >> Sagar
> >> >> > >> > >>
> >> >> > >> > >>
> >> >> > >> > >> *Student ,(7th Semester )B.Tech IT and mathematical
> >> innovation*
> >> >> > >> > >> *Cluster Innovation Centre*
> >> >> > >> > >> *University of Delhi *
> >> >> > >> > >>
> >> >> > >> > >>
> >> >> > >> > >
> >> >> > >> > >
> >> >> > >> > > --
> >> >> > >> > >
> >> >> > >> > > *With warm regards  *
> >> >> > >> > > *Sincerely yours*
> >> >> > >> > > Sagar
> >> >> > >> > >
> >> >> > >> > >
> >> >> > >> > > *Student ,(7th Semester )B.Tech IT and mathematical
> innovation*
> >> >> > >> > > *Cluster Innovation Centre*
> >> >> > >> > > *University of Delhi *
> >> >> > >> >
> >> >> > >> >
> >> >> > >> >
> >> >> > >> > --
> >> >> > >> > Stian Soiland-Reyes
> >> >> > >> > http://orcid.org/0000-0001-9842-9718
> >> >> > >> >
> >> >> > >>
> >> >> >
> >> >> >
> >> >> >
> >> >> > --
> >> >> > Stian Soiland-Reyes
> >> >> > http://orcid.org/0000-0001-9842-9718
> >> >> >
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >>
> >> >> *With warm regards  *
> >> >> *Sincerely yours*
> >> >> Sagar
> >> >>
> >> >>
> >> >> *Student ,(7th Semester )B.Tech IT and mathematical innovation*
> >> >> *Cluster Innovation Centre*
> >> >> *University of Delhi *
> >> >>
> >>
> >>
> >>
> >> --
> >> Stian Soiland-Reyes
> >> http://orcid.org/0000-0001-9842-9718
> >>
>
>
>
> --
> Stian Soiland-Reyes
> http://orcid.org/0000-0001-9842-9718
>

Reply via email to