commit d59e7ee5b45eb076d248da363dbaedd45498688b
Author: shye0000 <shye0000@gmail.com>
Date:   Tue Sep 15 11:57:40 2015 +0200

    some modif

diff --git a/Asynchronous_Download_java_sitools2/PublicOrderResource.java b/Asynchronous_Download_java_sitools2/PublicOrderResource.java
deleted file mode 100644
index 0ff7019..0000000
--- a/Asynchronous_Download_java_sitools2/PublicOrderResource.java
+++ /dev/null
@@ -1,442 +0,0 @@
- /*******************************************************************************
- * Copyright 2010-2014 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
- *
- * This file is part of SITools2.
- *
- * SITools2 is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * SITools2 is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with SITools2.  If not, see <http://www.gnu.org/licenses/>.
- ******************************************************************************/
-package fr.cnes.sitools.resources.order;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.logging.Level;
-import java.util.Map;
-import java.util.HashMap;
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-
-import org.restlet.data.Reference;
-import org.restlet.data.Status;
-import org.restlet.representation.Representation;
-import org.restlet.resource.ResourceException;
-import org.restlet.security.User;
-
-import fr.cnes.sitools.common.exception.SitoolsException;
-import fr.cnes.sitools.dataset.database.DatabaseRequest;
-import fr.cnes.sitools.datasource.jdbc.model.AttributeValue;
-import fr.cnes.sitools.datasource.jdbc.model.Record;
-import fr.cnes.sitools.plugins.resources.model.ResourceModel;
-import fr.cnes.sitools.plugins.resources.model.ResourceParameter;
-import fr.cnes.sitools.resources.order.utils.ListReferencesAPI;
-import fr.cnes.sitools.resources.order.utils.OrderAPI;
-import fr.cnes.sitools.resources.order.utils.OrderResourceUtils;
-import fr.cnes.sitools.server.Consts;
-import fr.cnes.sitools.util.RIAPUtils;
-import fr.cnes.sitools.order.model.Order;
-import org.restlet.Context;
-import fr.cnes.sitools.tasks.business.Task;
-import fr.cnes.sitools.mail.model.Mail;
-import org.restlet.Request;
-import org.restlet.data.Method;
-import org.restlet.representation.ObjectRepresentation;
-import fr.cnes.sitools.util.TemplateUtils;
-import fr.cnes.sitools.util.Util;
-
-
-/**
- * Default OrderResource implementation.
- * <p>
- * The parameter colUrl is used to specify a column containing the list of URLs of the files to order. Each file is then
- * either copied or Zipped to the userstorage of the user.
- * </p>
- * 
- * 
- * @author m.gond
- */
-public class PublicOrderResource extends AbstractDatasetOrderResource {
-  /** Maximum number of file to download authorized, default to -1 => no limit */
-  private int nbMaxDownload = -1;
-  private fr.cnes.sitools.security.model.User userDetails; 
-  /*
-   * (non-Javadoc)
-   *
-   * @see fr.cnes.sitools.resources.order.AbstractOrderResource#checkUser()
-   */
-  @Override
-  public void checkUser() {
-    User user = getClientInfo().getUser();
-    if (user == null) {
-      userDetails=null;
-    }
-    else{
-      try {
-        userDetails = this.getUserDetails(user.getIdentifier(), getContext());
-      }
-      catch (SitoolsException e) {
-        userDetails=null;
-      }
-
-    }
-
-
-  }
-
-  public void notifyAdminEnd() throws SitoolsException {
-    try {
-      sendMail(order, getContext(), userDetails, task);
-    }
-    catch (SitoolsException e) {
-      // ne rien faire si le mail n'est pas parti
-      OrderAPI.createEvent(order, getContext(), "MAIL_NOT_SEND_TO_USER");
-    }
-  }
-
-  protected void sendMail(Order order, Context context, fr.cnes.sitools.security.model.User user, Task task)
-	throws SitoolsException{
-    List<String> toList = new ArrayList<String>();
-if(user!=null){	
-    String userAdd = user.getEmail();
-    if (userAdd != null && !userAdd.equals("")) {
-      // System.out.println("EMAIL ADDRESS = " + userAdd);
-      toList.add(userAdd);
-
-      Mail mailToUser = new Mail();
-      mailToUser.setToList(toList);
-
-      // TODO EVOL : email subject should be a parameter
-      mailToUser.setSubject(getMailSubject());
-
-      // default body
-      mailToUser.setBody(getMailBody(mailToUser));
-
-      org.restlet.Response sendMailResponse = null;
-      try {
-        // riap request to MailAdministration application
-        Request request = new Request(Method.POST, RIAPUtils.getRiapBase()
-            + settings.getString(Consts.APP_MAIL_ADMIN_URL), new ObjectRepresentation<Mail>(mailToUser));
-
-        sendMailResponse = getContext().getClientDispatcher().handle(request);
-      }
-      catch (Exception e) {
-        getLogger().warning("SERVER ERROR SENDING EMAIL TO USER");
-        throw new ResourceException(Status.SERVER_ERROR_INTERNAL, e);
-      }
-      if (sendMailResponse.getStatus().isError()) {
-        throw new SitoolsException("SERVER ERROR SENDING EMAIL TO USER");
-      }
-
-      // OK
-    }
-    else {
-      throw new SitoolsException("NO EMAIL ADDRESS DEFINED");
-    }
-}
-else{
-  ResourceModel resourceModel = getModel();
-  ResourceParameter email = resourceModel.getParameterByName("Email");
-  String userAdd = this.getRequest().getResourceRef().getQueryAsForm().getFirstValue("Email");
- //String userAdd = email.getValue();
-  getContext().getLogger().info("******************* UserEmail : "+userAdd);
-  if (userAdd != null && !userAdd.equals("")) {
-    toList.add(userAdd);
-    Mail mailToPublic = new Mail();
-    mailToPublic.setToList(toList);
-    mailToPublic.setSubject(getMailSubject());
-    mailToPublic.setBody(getMailBodyPublic(mailToPublic));
-    org.restlet.Response sendMailResponse = null;
-      try {
-        Request request = new Request(Method.POST, RIAPUtils.getRiapBase()
-            + settings.getString(Consts.APP_MAIL_ADMIN_URL), new ObjectRepresentation<Mail>(mailToPublic));
-
-        sendMailResponse = getContext().getClientDispatcher().handle(request);
-      }
-      catch (Exception e) {
-        getLogger().warning("SERVER ERROR SENDING EMAIL TO PUBLIC DOWNLOADER");
-        throw new ResourceException(Status.SERVER_ERROR_INTERNAL, e);
-      }
-      if (sendMailResponse.getStatus().isError()) {
-        throw new SitoolsException("SERVER ERROR SENDING EMAIL TO PUBLIC DOWNLOADER");
-      }
-  }
-  else{
-    throw new SitoolsException("NO EMAIL ADDRESS DEFINED");
-  }
-}
-
-  }
-
-
-protected String getMailBodyPublic(Mail mailToPublic) {
-    // default body
-    String orderNameEncoded = order.getDescription();
-    String fileNameEncoded = order.getDescription();
-	
-    try{
-	orderNameEncoded = URLEncoder.encode(order.getDescription(),"UTF-8");
-    } catch (UnsupportedEncodingException e){
-        e.printStackTrace();
-    }
-    try{
-        fileNameEncoded = URLEncoder.encode(orderNameEncoded,"UTF-8");
-    } catch (UnsupportedEncodingException e){
-        e.printStackTrace();
-    }
-    String mailBody = "Dear visiter"+":<br/><br/>Your command is complete. <br/>" + "File Name : "
-        + order.getDescription() + "<br/>"
-        +"Now you can click the link below to download it:<br/><a href='http://idoc-picard.ias.u-psud.fr:8182/sitools/userstorage/public/files/resources_orders/"
-	+orderNameEncoded+"/"+fileNameEncoded+".zip"
-        +"'>http://idoc-picard.ias.u-psud.fr:8182/sitools/userstorage/public/files/resources_orders/"
-	+orderNameEncoded+"/"+fileNameEncoded+".zip</a>"
-	+"<br/><br/>Admin<br/><a href='http://idoc-picard.ias.u-psud.fr'>PICARD ARCHIVE</a>";
-
-    // use a freemarker template for email body with Mail object
-    String templatePath = settings.getRootDirectory() + settings.getString(Consts.TEMPLATE_DIR)
-        + "mail.order.complete.ftl";
-
-    Map<String, Object> root = new HashMap<String, Object>();
-    root.put("mail", mailToPublic);
-    root.put("order", order);
-    String adminmail = settings.getString("Starter.StatusService.CONTACT_MAIL");
-    root.put("adminmail", adminmail);
-
-    TemplateUtils.describeObjectClassesForTemplate(templatePath, root);
-
-    root.put("context", getContext());
-
-    String body = TemplateUtils.toString(templatePath, root);
-    if (Util.isNotEmpty(body)) {
-      return body;
-    }
-    else {
-      return mailBody;
-    }
-  }
-
-
-
-  @Override
-  public ListReferencesAPI listFilesToOrder(DatabaseRequest dbRequest) throws SitoolsException {
-    task.setCustomStatus("Creating list of files to order");
-    ResourceModel resourceModel = getModel();
-    ResourceParameter nbMaxDownloadParam = resourceModel.getParameterByName("too_many_selected_threshold");
-    if (nbMaxDownloadParam != null && !"".equals(nbMaxDownloadParam)) {
-      try {
-        nbMaxDownload = Integer.parseInt(nbMaxDownloadParam.getValue());
-      }
-      catch (NumberFormatException e) {
-        nbMaxDownload = -1;
-      }
-    }
-    
-    if (nbMaxDownload != -1 && nbMaxDownload < dbRequest.getCount()) {
-      ResourceParameter errorTextParam = resourceModel.getParameterByName("too_many_selected_threshold_text");
-      String errorText = (errorTextParam != null && !"".equals(errorTextParam.getValue())) ? errorTextParam.getValue()
-          : "Too many file selected";
-      throw new ResourceException(Status.CLIENT_ERROR_BAD_REQUEST, errorText);
-    }
-
-    ResourceParameter colUrl = resourceModel.getParameterByName("colUrl");
-    if (colUrl.getValue() == null || colUrl.getValue().equals("")) {
-      throw new SitoolsException("NO COLUMN DEFINED FOR ORDER");
-    }
-
-    ListReferencesAPI list = new ListReferencesAPI(settings.getPublicHostDomain() + settings.getString(Consts.APP_URL));
-    while (dbRequest.nextResult()) {
-      Record rec = dbRequest.getRecord();
-      AttributeValue attributeValue = OrderResourceUtils.getInParam(colUrl, rec);
-
-      if (attributeValue != null && attributeValue.getValue() != null) {
-        // get the file path
-        String filePath = (String) attributeValue.getValue();
-        String urlAttach = settings.getString(Consts.APP_DATASTORAGE_URL);
-        // if it contains "/datastorage" get rid of everything before
-        if (filePath.contains(urlAttach)) {
-          filePath = filePath.substring(filePath.lastIndexOf(urlAttach));
-        }
-        if (filePath.startsWith("http://")) {
-          list.addReferenceSource(new Reference(filePath));
-        }
-        else {
-          list.addReferenceSource(new Reference(RIAPUtils.getRiapBase() + filePath));
-        }
-
-      }
-    }
-    return list;
-  }
-
-  @Override
-  public Representation processOrder(ListReferencesAPI listReferences) throws SitoolsException {
-    task.setCustomStatus("Order processing");
-    OrderAPI.createEvent(order, getContext(), "PROCESSING ORDER");
-
-    List<Reference> listOfFilesToOrder = listReferences.getReferencesSource();
-
-    getContext().getLogger().info("******************* User : "+task.getUser());
-    getContext().getLogger().info("******************* folder : "+settings.getString(Consts.USERSTORAGE_RESOURCE_ORDER_DIR) + folderName);
-    Reference destRef = OrderResourceUtils.getUserAvailableFolderPath(task.getUser(),
-        settings.getString(Consts.USERSTORAGE_RESOURCE_ORDER_DIR) + folderName, getContext());
-
-    ResourceModel resourceModel = getModel();
-    ResourceParameter zipParam = resourceModel.getParameterByName("zip");
-
-    // zip is a USER_INPUT parameter, let's get it from the request
-    // parameters
-    String zipValue = this.getRequest().getResourceRef().getQueryAsForm().getFirstValue("zip");
-    if (zipValue == null || zipValue.equals("") || (!"false".equals(zipValue) && !"true".equals(zipValue))) {
-      zipValue = zipParam.getValue();
-    }
-
-    Boolean zip = Boolean.parseBoolean(zipValue);
-    if (zip) {
-      task.getLogger().log(Level.INFO, zipParam.getName().toUpperCase() + " in progress for user : " 
-          + task.getUser().getIdentifier() + " -> ip :" + getClientInfo().getUpstreamAddress());
-      
-      task.getLogger().info("List of files ordered :");
-      for (Reference r : listReferences.getReferencesSource()) {
-        task.getLogger().info(" - " + r.getIdentifier().substring(16));
-        r.getPath();
-      }
-      zip(listOfFilesToOrder, listReferences, destRef);
-    }
-    else {
-      task.getLogger().log(Level.INFO, "FILE in progress for user : "
-          + task.getUser().getIdentifier() + " -> ip :" + getClientInfo().getUpstreamAddress());
-      task.getLogger().info("List of files ordered :");
-      for (Reference r : listReferences.getReferencesSource()) {
-        task.getLogger().info(" - " + r.getIdentifier().substring(16));
-        r.getPath();
-      }
-      
-      Reference ref;
-      for (Iterator<Reference> iterator = listOfFilesToOrder.iterator(); iterator.hasNext();) {
-        Reference sourceRef = iterator.next();
-        task.getLogger().log(Level.WARNING, "{0}", sourceRef);
-        try {
-          ref = new Reference(destRef);
-          ref.addSegment(sourceRef.getLastSegment());
-          OrderResourceUtils.copyFile(sourceRef, ref, getRequest().getClientInfo(), getContext());
-          listReferences.addReferenceDest(ref);
-        }
-        catch (SitoolsException e) {
-          task.getLogger().log(Level.WARNING, "File not copied : " + sourceRef, e);
-        }
-      }
-    }
-
-    task.getLogger().log(Level.INFO, "Number of downloaded files : " + listOfFilesToOrder.size());
-    
-    // set the result in the task
-    task.setUrlResult(settings.getString(Consts.APP_URL) + settings.getString(Consts.APP_ORDERS_USER_URL) + "/"
-        + order.getId());
-
-    try {
-      // copy the indexFile to the destination reference
-      String orderFileListName = fileName;
-      if (orderFileListName == null || "".equals(orderFileListName)) {
-        orderFileListName = OrderResourceUtils.FILE_LIST_PATTERN.replace("{orderName}", ds.getName());
-        orderFileListName = orderFileListName.replace("{timestamp}", formatedDate);
-      }
-      else {
-        orderFileListName += "_fileList";
-      }
-      destRef.addSegment(orderFileListName);
-      destRef.setExtensions("txt");
-      Reference urlUserIndex = listReferences.copyToUserStorage(destRef, getContext(), getClientInfo());
-
-      // add it the order
-      ArrayList<String> orderedResource = new ArrayList<String>();
-      orderedResource.add(urlUserIndex.toString());
-      order.setResourceCollection(orderedResource);
-      order = OrderAPI.updateOrder(order, getContext());
-
-    }
-    catch (IOException e) {
-      throw new SitoolsException("Error while creating the file index in the userstorage", e);
-    }
-    return null;
-
-  }
-
-  /**
-   * Create the Zip from the listOfFilesToOrder
-   * 
-   * @param listOfFilesToOrder
-   *          the list of files to order
-   * @param listReferences
-   *          the ListReferenceAPI to add some reference
-   * @param destRef
-   *          the destination reference
-   * @throws SitoolsException
-   *           if there is an error
-   */
-  private void zip(List<Reference> listOfFilesToOrder, ListReferencesAPI listReferences, Reference destRef)
-    throws SitoolsException {
-
-    String zipFileName = fileName;
-    if (zipFileName == null || "".equals(zipFileName)) {
-      zipFileName = OrderResourceUtils.ZIP_FILE_PATTERN.replace("{orderName}", ds.getName());
-      zipFileName = zipFileName.replace("{timestamp}", formatedDate);
-    }
-
-    Reference zipRef = new Reference(RIAPUtils.getRiapBase() + settings.getString(Consts.APP_TMP_FOLDER_URL));
-    zipRef.addSegment(zipFileName);
-    zipRef.setExtensions("zip");
-
-    // create an index and add it to the zip files
-    Reference ref;
-    Reference sourceRef;
-    for (Iterator<Reference> iterator = listOfFilesToOrder.iterator(); iterator.hasNext();) {
-      sourceRef = iterator.next();
-      ref = new Reference(destRef);
-      ref.addSegment(sourceRef.getLastSegment());
-      listReferences.addReferenceDest(ref);
-    }
-
-    // copy the indexFile to the destination reference
-    Reference destRefListFileInZip = new Reference(destRef);
-
-    String orderFileListName = fileName;
-    if (orderFileListName == null || "".equals(orderFileListName)) {
-      orderFileListName = OrderResourceUtils.FILE_LIST_PATTERN.replace("{orderName}", ds.getName());
-      orderFileListName = orderFileListName.replace("{timestamp}", formatedDate);
-    }
-    else {
-      orderFileListName += "_fileList";
-    }
-    destRefListFileInZip.addSegment(orderFileListName);
-    destRefListFileInZip.setExtensions("txt");
-    try {
-      listReferences.copyToUserStorage(destRefListFileInZip, getContext(), getClientInfo());
-      listReferences.clearReferencesDest();
-      listReferences.addReferenceSource(destRefListFileInZip);
-    }
-    catch (IOException e) {
-      e.printStackTrace();
-    }
-
-    OrderResourceUtils.zipFiles(listOfFilesToOrder, settings.getTmpFolderUrl() + "/" + zipFileName + ".zip",
-        getRequest().getClientInfo(), getContext());
-    destRef.addSegment(zipRef.getLastSegment());
-    OrderResourceUtils.copyFile(zipRef, destRef, getRequest().getClientInfo(), getContext());
-    OrderResourceUtils.deleteFile(zipRef, getRequest().getClientInfo(), getContext());
-
-    Reference destZipRef = new Reference(destRef);
-    listReferences.addReferenceDest(destZipRef);
-
-    destRef.setLastSegment("");
-  }
-}
diff --git a/Asynchronous_Download_java_sitools2/PublicOrderResourceFacade.java b/Asynchronous_Download_java_sitools2/PublicOrderResourceFacade.java
deleted file mode 100644
index 0bd8cf7..0000000
--- a/Asynchronous_Download_java_sitools2/PublicOrderResourceFacade.java
+++ /dev/null
@@ -1,105 +0,0 @@
- /*******************************************************************************
- * Copyright 2010-2014 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
- *
- * This file is part of SITools2.
- *
- * SITools2 is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * SITools2 is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with SITools2.  If not, see <http://www.gnu.org/licenses/>.
- ******************************************************************************/
-package fr.cnes.sitools.resources.order;
-
-import org.restlet.data.Form;
-import org.restlet.ext.wadl.MethodInfo;
-import org.restlet.representation.Representation;
-import org.restlet.representation.Variant;
-
-import fr.cnes.sitools.common.resource.SitoolsParameterizedResource;
-import fr.cnes.sitools.dataset.DataSetApplication;
-import fr.cnes.sitools.dataset.database.common.DataSetExplorerUtil;
-import fr.cnes.sitools.tasks.TaskUtils;
-
-/**
- * Facade for PublicOrderResource
- * 
- * 
- * @author m.gond
- */
-public class PublicOrderResourceFacade extends SitoolsParameterizedResource implements IOrderResource {
-  /**
-   * Description de la ressource
-   */
-  @Override
-  public void sitoolsDescribe() {
-    setName("PublicOrderResourceFacade");
-    setDescription("Resource to order data");
-  }
-
-  /**
-   * Description WADL de la methode POST
-   * 
-   * @param info
-   *          The method description to update.
-   */
-  @Override
-  public void describePost(MethodInfo info) {
-    info.setDocumentation("Method to order data from a dataset");
-    info.setIdentifier("order");
-    addStandardPostOrPutRequestInfo(info);
-    DataSetExplorerUtil.addDatasetExplorerGetRequestInfo(info);
-    DataSetApplication application = (DataSetApplication) getApplication();
-    DataSetExplorerUtil.addDatasetExplorerGetFilterInfo(info, application.getFilterChained());
-    addStandardResponseInfo(info);
-    addStandardInternalServerErrorInfo(info);
-    this.addInfo(info);
-  }
-
-  /**
-   * Create the order
-   * 
-   * @param represent
-   *          the {@link Representation} entity
-   * @param variant
-   *          The {@link Variant} needed
-   * @return a representation
-   */
-  public Representation orderPost(Representation represent, Variant variant) {
-    processBody();
-    return TaskUtils.execute(this, variant);
-  }
-
-  /**
-   * Create the order
-   * 
-   * @param variant
-   *          The {@link Variant} needed
-   * @return a representation
-   */
-  public Representation orderGet(Variant variant) {
-    return TaskUtils.execute(this, variant);
-  }
-
-  /**
-   * process the body and save the request entity {@link Representation}
-   */
-  public void processBody() {
-    Representation body = this.getRequest().getEntity();
-    if (body != null && body.isAvailable() && body.getSize() > 0) {
-      Form bodyForm = new Form(body);
-      getContext().getAttributes().put(TaskUtils.BODY_CONTENT, bodyForm);
-    }
-    else {
-      getContext().getAttributes().remove(TaskUtils.BODY_CONTENT);
-    }
-  }
-
-}
diff --git a/Asynchronous_Download_java_sitools2/PublicOrderResourceModel.java b/Asynchronous_Download_java_sitools2/PublicOrderResourceModel.java
deleted file mode 100644
index 4c26931..0000000
--- a/Asynchronous_Download_java_sitools2/PublicOrderResourceModel.java
+++ /dev/null
@@ -1,168 +0,0 @@
- /*******************************************************************************
- * Copyright 2010-2014 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
- *
- * This file is part of SITools2.
- *
- * SITools2 is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * SITools2 is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with SITools2.  If not, see <http://www.gnu.org/licenses/>.
- ******************************************************************************/
-package fr.cnes.sitools.resources.order;
-
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import fr.cnes.sitools.common.validator.ConstraintViolation;
-import fr.cnes.sitools.common.validator.ConstraintViolationLevel;
-import fr.cnes.sitools.common.validator.Validator;
-import fr.cnes.sitools.dataset.DataSetApplication;
-import fr.cnes.sitools.plugins.resources.model.DataSetSelectionType;
-import fr.cnes.sitools.plugins.resources.model.ResourceModel;
-import fr.cnes.sitools.plugins.resources.model.ResourceParameter;
-import fr.cnes.sitools.plugins.resources.model.ResourceParameterType;
-import fr.cnes.sitools.tasks.model.TaskResourceModel;
-import fr.cnes.sitools.tasks.model.TaskRunTypeAdministration;
-
-/**
- * Model for OrderResource
- * 
- * 
- * @author m.gond
- */
-public class PublicOrderResourceModel extends TaskResourceModel {
-
-  /**
-   * Constructor
-   */
-  public PublicOrderResourceModel() {
-
-    super();
-    setClassAuthor("Shuo");
-    setClassOwner("IAS");
-    setClassVersion("0.1");
-    setName("PublicOrderResourceModel");
-    setDescription("Order resources associated to metadata for public user and save it in public storage. (Can also create a ZIP, TAR or TAR.GZ 'on the fly')");
-    /** Resource facade */
-    setResourceClassName("fr.cnes.sitools.resources.order.PublicOrderResourceFacade");
-    /** Resource d'implémentation */
-    setResourceImplClassName("fr.cnes.sitools.resources.order.PublicOrderResource");
-
-    setRunTypeAdministration(TaskRunTypeAdministration.TASK_DEFAULT_RUN_ASYNC);
-
-    ResourceParameter paramColUrl = new ResourceParameter("colUrl", "Colum containing data url for order",
-        ResourceParameterType.PARAMETER_INTERN);
-    /** Type de paramètre pour lister les colonnes du dataset */
-    paramColUrl.setValueType("xs:dataset.columnAlias");
-    ResourceParameter param2 = new ResourceParameter("zip",
-        "(true or false) If the data needs to be zipped at the end", ResourceParameterType.PARAMETER_USER_INPUT);
-    param2.setValue("false");
-    /** Type de colonne booléen */
-    param2.setValueType("xs:boolean");
-    ResourceParameter email= new ResourceParameter("Email","Send alert email when download ready",ResourceParameterType.PARAMETER_USER_INPUT);
-    email.setValue("");
-    email.setValueType("xs:string");
-    this.addParam(paramColUrl);
-    this.addParam(param2);
-    this.addParam(email);
-
-    this.setApplicationClassName(DataSetApplication.class.getName());
-    this.getParameterByName("methods").setValue("POST");
-    this.setDataSetSelection(DataSetSelectionType.MULTIPLE);
-
-    // paramètres pour la limitation du nombre de fichiers
-    ResourceParameter paramMaxWarningThreshold = new ResourceParameter("max_warning_threshold",
-        "Maximum number of files allowed to be downloaded before client warning, download is still allowed",
-        ResourceParameterType.PARAMETER_USER_GUI);
-    paramMaxWarningThreshold.setValueType("xs:integer");
-
-    ResourceParameter paramTooManySelectedThreshold = new ResourceParameter("too_many_selected_threshold",
-        "Maximum number of files allowed to be downloaded (-1 to set no limit)", ResourceParameterType.PARAMETER_INTERN);
-    paramTooManySelectedThreshold.setValueType("xs:integer");
-    paramTooManySelectedThreshold.setValue("-1");
-
-    ResourceParameter paramMaxWarningThresholdText = new ResourceParameter("max_warning_threshold_text",
-        "Text to display to the user when Warning threshold is reached", ResourceParameterType.PARAMETER_USER_GUI);
-    paramMaxWarningThresholdText.setValueType("xs:string");
-
-    ResourceParameter paramTooManySelectedThresholdText = new ResourceParameter("too_many_selected_threshold_text",
-        "Text to display to the user when TooMaxySelected threshold is reached",
-        ResourceParameterType.PARAMETER_USER_GUI);
-    paramTooManySelectedThresholdText.setValueType("xs:string");
-
-    this.addParam(paramMaxWarningThreshold);
-    this.addParam(paramTooManySelectedThreshold);
-    this.addParam(paramMaxWarningThresholdText);
-    this.addParam(paramTooManySelectedThresholdText);
-
-    this.getParameterByName("fileName").setValue("dataset_order_" + "${date:yyyy-MM-dd HH_mm_ss}");
-
-  }
-
-  @Override
-  public Validator<ResourceModel> getValidator() {
-    return new Validator<ResourceModel>() {
-
-      @Override
-      public Set<ConstraintViolation> validate(ResourceModel item) {
-        Set<ConstraintViolation> constraints = new HashSet<ConstraintViolation>();
-        Map<String, ResourceParameter> params = item.getParametersMap();
-        ResourceParameter param = params.get("colUrl");
-        String value = param.getValue();
-        if (value == null || value.equals("")) {
-          ConstraintViolation constraint = new ConstraintViolation();
-          constraint.setMessage("An attribute of the dataset must be choosen");
-          constraint.setLevel(ConstraintViolationLevel.CRITICAL);
-          constraint.setValueName(param.getName());
-          constraints.add(constraint);
-        }
-        param = params.get("zip");
-        if (param != null) {
-          value = param.getValue();
-          if (value == null || (!"false".equals(value) && !"true".equals(value))) {
-            ConstraintViolation constraint = new ConstraintViolation();
-            constraint.setMessage("Must be a boolean");
-            constraint.setLevel(ConstraintViolationLevel.CRITICAL);
-            constraint.setInvalidValue(value);
-            constraint.setValueName(param.getName());
-            constraints.add(constraint);
-          }
-        }
-        param = params.get("too_many_selected_threshold");
-        value = param.getValue();
-        if (value == null || "".equals(value)) {
-          ConstraintViolation constraint = new ConstraintViolation();
-          constraint.setMessage("Cannot be null");
-          constraint.setLevel(ConstraintViolationLevel.CRITICAL);
-          constraint.setInvalidValue(value);
-          constraint.setValueName(param.getName());
-          constraints.add(constraint);
-        }
-        else {
-          try {
-            Integer.parseInt(value);
-          }
-          catch (NumberFormatException e) {
-            ConstraintViolation constraint = new ConstraintViolation();
-            constraint.setMessage("Must be an integer value");
-            constraint.setLevel(ConstraintViolationLevel.CRITICAL);
-            constraint.setInvalidValue(value);
-            constraint.setValueName(param.getName());
-            constraints.add(constraint);
-          }
-        }
-        return constraints;
-      }
-    };
-  }
-
-}
diff --git a/Asynchronous_Download_userInterface_sitools2/goToTaskPanel.js b/Asynchronous_Download_userInterface_sitools2/goToTaskPanel.js
deleted file mode 100644
index e11242a..0000000
--- a/Asynchronous_Download_userInterface_sitools2/goToTaskPanel.js
+++ /dev/null
@@ -1,368 +0,0 @@
-/*******************************************************************************
- * Copyright 2010-2014 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
- * 
- * This file is part of SITools2.
- * 
- * SITools2 is free software: you can redistribute it and/or modify it under the
- * terms of the GNU General Public License as published by the Free Software
- * Foundation, either version 3 of the License, or (at your option) any later
- * version.
- * 
- * SITools2 is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
- * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License along with
- * SITools2. If not, see <http://www.gnu.org/licenses/>.
- ******************************************************************************/
-/*global Ext, sitools, i18n, SitoolsDesk, alertFailure, window, loadUrl */
-
-Ext.namespace('sitools.user.component.dataviews');
-
-/**
- * A simple window that displays result of Resource Tasks.
- * @class sitools.user.component.dataviews.goToTaskPanel
- * @extends Ext.Panel
- */
-sitools.user.component.dataviews.goToTaskPanel = Ext.extend(Ext.Panel, {
-//sitools.user.component.livegrid.goToTaskPanel = Ext.extend(Ext.Window, {
-//    modal : true,
-    width : "500", 
-    buttonAlign : 'left',
-    layout : 'fit',
-    initComponent : function () {
-        
-        
-        
-        this.mainPanel = this.createNewFormComponent(this.task);
- 
-        this.buttons = ["->",/* {
-            text : i18n.get('label.goToTask'),
-            scope : this,
-            handler : this.goToTask
-        },*/ {
-            text : i18n.get('label.close'),
-            scope : this,
-            handler : function () {
-                this.ownerCt.close();
-            }
-        } ];
-        
-        
-        this.items = [this.mainPanel];
-        
-        sitools.user.component.dataviews.goToTaskPanel.superclass.initComponent.call(this);
-
-    },
-    
-    refreshTask : function () {
-//        var form = this.mainPanel;
-        var url = this.task.statusUrl;
-        Ext.Ajax.request({
-            url : url,
-            method : "GET",
-            scope : this,
-            success : function (ret) {
-                var data = Ext.decode(ret.responseText);
-                if (!data.success) {
-                    Ext.Msg.alert(i18n.get('label.warning'), data.message);
-                    return false;
-                }
-                this.task = data.TaskModel;
-                this.mainPanel = this.createNewFormComponent(this.task);
-                this.removeAll();
-                this.add(this.mainPanel);
-                this.doLayout();
-            },
-            failure : alertFailure
-        });
-    },
-    
-    createNewFormComponent : function (task) {
-        var html = String.format("<p>Hi, your download task is being processed, we will inform you by email when it is done.</p>");
-	html += String.format("<p>For public users, we will send you a link for download in the email.</p>");
-	//html += String.format("<p>You can check the progress by clicking the button <b>Go to the task</b> below.</p>");
-	html += String.format("<p>For registered users, you can find and manage(delete or download) all your historical download tasks by clicking the <b>Tasks</b> button which located in your user menu.</p>");
-       
-	/* var html = String.format(i18n.get("label.taskLaunched"), task.status);
-        html += String.format("<a href='#'>{0}</a><br>", i18n.get("label.detail"));
-        
-        if (!Ext.isEmpty(task.urlResult)) {
-			html += "<br>" + String.format(i18n.get("label.taskResult"), task.urlResult);	
-			html += String.format("<a href='#'>{0}</a><br>", i18n.get("label.result"));
-        }
-        else {
-			html += "<br>" + i18n.get("label.refreshTaskWindow");	
-			html += String.format("<a href='#'>{0}</a><br>", i18n.get("label.refresh"));
-        }*/
-        
-        var panel = new Ext.Panel({
-			padding: 5,
-			layout : "fit", 
-			html : html, 
-			listeners : {
-				scope : this, 
-				afterrender : function (panel) {
-					/*panel.getEl().child('a').on("click", function () {
-						this.showTaskDetail(task);
-					}, this);
-					var resultOrRefreshLink = panel.getEl().child('a').next('a');
-					if (!Ext.isEmpty(task.urlResult)) {
-						resultOrRefreshLink.on("click", function () {
-							this.showTaskResults(task);
-						}, this);
-					}
-					else {
-						resultOrRefreshLink.on("click", function () {
-							this.refreshTask();
-						}, this);
-					}*/
-				}
-			}
-        });
-        return panel;
-        
-//        var formPanel = new Ext.form.FormPanel({
-//            title : i18n.get("label.taskDetails"),
-//            padding: 5,
-//            items : [ {
-//                name : 'statusUrl',
-//                xtype : 'textfield',
-//                value : task.statusUrl,
-//                hidden : true
-//            }, {
-//                name : 'status',
-//                fieldLabel : i18n.get('label.status'),
-//                anchor : "100%",
-//                xtype : 'textfield',
-//                value : task.status
-//            }, {
-//                name : 'id',
-//                fieldLabel : i18n.get('label.id'),
-//                anchor : "100%",
-//                xtype : 'textfield',
-//                value : task.id
-//            }, {
-//                itemValue : task.statusUrl,
-//                fieldLabel : i18n.get('label.url'),
-//                xtype : 'box',
-//                html : "<a href='#'> " + task.statusUrl + "</a>"
-//                ,
-//                listeners : {
-//                    scope : this,
-//                    render : function (cmp) {
-//                        cmp.getEl().on('click', function () {
-//                            var jsObj = sitools.user.modules.userSpaceDependencies.svaTasksDetails;
-//                            var componentCfg = {
-//                                sva : task    
-//                            };
-//                            var windowConfig = {
-//                                id : "taskStatusDetails", 
-//                                title : i18n.get("label.taskDetails") + ":" + task.id
-//                            };
-//                            SitoolsDesk.addDesktopWindow(windowConfig, componentCfg, jsObj);
-//                        });
-//                    }
-//                }
-//            }
-//            ]
-//        });
-//        
-//        if (!Ext.isEmpty(task.urlResult)) {
-//            var item = new Ext.BoxComponent({
-//                itemValue : task.urlResult,
-//                fieldLabel : i18n.get('label.result'),
-//                html : "<a href='#'> " + task.urlResult + "</a>",
-//                listeners : {
-//                    scope : this,
-//                    render : function (cmp) {
-//                        cmp.getEl().on('click', function () {
-//                            var orderUrl = loadUrl.get('APP_URL') + loadUrl.get('APP_ORDERS_USER_URL');
-//                            if (cmp.itemValue.indexOf(orderUrl) != -1) {
-//                                this._showOrderDetails(cmp.itemValue);
-//                            } else if (cmp.itemValue.indexOf("/records") != -1) {
-//                                this._showDatasetDetails(cmp.itemValue);
-//                            } 
-//                            else {
-//                                window.open(cmp.itemValue);
-//                            }
-//                        }, this);
-//                    }
-//                }
-//            });
-//            formPanel.add(item);
-//        }
-//        
-//        return formPanel;
-        
-    },
-    
-    /**
-     * Handler of the button goToTask. 
-     * Open the home Module Window with the taskPanel opened.
-     */
-    goToTask : function () {
-        this.ownerCt.close();
-		var jsObj = sitools.user.component.entete.userProfile.tasks;
-        var windowConfig = {
-            title : i18n.get('label.Tasks'),
-            saveToolbar : false, 
-            iconCls : "tasks"
-        };
-        SitoolsDesk.addDesktopWindow(windowConfig, {}, jsObj, true);
-
-    },
-    /**
-     * Open a sitools.user.component.entete.userProfile.orderProp window. 
-     * @param {String} url the Url to request the task. 
-     */
-    _showOrderDetails : function (url) {
-        Ext.Ajax.request({
-            url : url,
-            method : 'GET',
-            scope : this,
-            success : function (ret) {
-                var data = Ext.decode(ret.responseText);
-                if (!data.success) {
-                    Ext.Msg.alert(i18n.get('label.warning'), data.message);
-                    return false;
-                }
-                var rec = new Ext.data.Record(data.order);
-                var jsObj = sitools.user.component.entete.userProfile.orderProp;
-                var componentCfg = {
-                    action : 'detail',
-                    orderRec : rec
-                };
-                var title = i18n.get('label.details') + " : ";
-                title += rec.data.userId;
-                title += " " + i18n.get('label.the');
-                title += " " + rec.data.dateOrder;
-
-                var windowConfig = {
-                    id : "showDataDetailId", 
-                    title : title,  
-                    specificType : "dataDetail", 
-                    iconCls : "dataDetail"
-                };
-                SitoolsDesk.addDesktopWindow(windowConfig, componentCfg, jsObj);
-            },
-            failure : alertFailure
-        });
-        
-    },
-    /**
-     * Only in NoSql, open a dataset view 
-     * @param {} url
-     */
-    _showDatasetDetails : function (url) {
-        var urlDataset = url.substring(0, url.indexOf("/records"));
-        Ext.Ajax.request({
-            url : urlDataset,
-            method : 'GET',
-            scope : this,
-            success : function (ret) {
-                var data = Ext.decode(ret.responseText);
-                if (!data.success) {
-                    Ext.Msg.alert(i18n.get('label.warning'), data.message);
-                    return false;
-                }
-                var dataset = new Ext.data.Record(data.dataset).data;
-                
-                var windowConfig = {
-                        title : i18n.get('label.dataTitle') + " : " + dataset.name,
-                        datasetName : dataset.name, 
-                        datasetDescription : dataset.description,
-                        type : "data", 
-                        saveToolbar : true, 
-                        toolbarItems : [], 
-                        iconCls : "dataDetail"
-                    };
-                
-                //open the dataView according to the dataset Configuration.
-                var javascriptObject = eval(dataset.datasetView.jsObject);
-                //add the toolbarItems configuration
-                Ext.apply(windowConfig, {
-                    id : "data" + dataset.datasetId
-                });
-                var componentCfg = {
-                    dataUrl : dataset.sitoolsAttachementForUsers,
-                    datasetId : dataset.id,
-                    datasetCm : dataset.columnModel, 
-                    datasetName : dataset.name,
-                    dictionaryMappings : dataset.dictionaryMappings, 
-	                datasetViewConfig : dataset.datasetViewConfig, 
-                    preferencesPath : "/" + dataset.name, 
-                    preferencesFileName : "datasetView"
-                };
-                
-                SitoolsDesk.addDesktopWindow(windowConfig, componentCfg, javascriptObject);
-                
-            },
-            failure : alertFailure
-        });
-        
-    }, 
-    /**
-     * Opens a sitools.user.modules.userSpaceDependencies.svaTasksDetails window to see the task Details. 
-     * @param {} task
-     */
-    showTaskDetail : function (task) {
-	    var jsObj = sitools.user.component.entete.userProfile.tasksDetails;
-	    var componentCfg = {
-	        sva : task    
-	    };
-	    var windowConfig = {
-	        id : "taskStatusDetails", 
-	        title : i18n.get("label.taskDetails") + ":" + task.id, 
-	        iconCls : "dataDetail"
-	    };
-	    SitoolsDesk.addDesktopWindow(windowConfig, componentCfg, jsObj);
-	}, 
-	/**
-	 * parse the task.urlResult to see if this is an Specialized resource (noSQl or Order). 
-	 * If not, open a new Window to get the result of the resource. 
-	 * @param {} task
-	 */
-	showTaskResults : function (task) {
-		var orderUrl = loadUrl.get('APP_URL') + loadUrl.get('APP_ORDERS_USER_URL');
-        if (task.urlResult.indexOf(orderUrl) != -1) {
-            this._showOrderDetails(task.urlResult);
-        } else if (task.urlResult.indexOf("/records") != -1) {
-            this._showDatasetDetails(task.urlResult);
-        } 
-        else {
-            window.open(task.urlResult);
-        }
-	}, 
-    /**
-     * Method called when trying to show this component with fixed navigation
-     * 
-     * @param {sitools.user.component.viewDataDetail} me the dataDetail view
-     * @param {} config config options
-     * @returns
-     */
-    showMeInFixedNav : function (me, config) {
-        Ext.apply(config.windowSettings, {
-            width : config.windowSettings.winWidth || DEFAULT_WIN_WIDTH,
-            height : config.windowSettings.winHeight || DEFAULT_WIN_HEIGHT
-        });
-        SitoolsDesk.openModalWindow(me, config);
-    }, 
-    /**
-     * Method called when trying to show this component with Desktop navigation
-     * 
-     * @param {sitools.user.component.viewDataDetail} me the dataDetail view
-     * @param {} config config options
-     * @returns
-     */
-    showMeInDesktopNav : function (me, config) {
-        Ext.apply(config.windowSettings, {
-            width : config.windowSettings.winWidth || DEFAULT_WIN_WIDTH,
-            height : config.windowSettings.winHeight || DEFAULT_WIN_HEIGHT
-        });
-        SitoolsDesk.openModalWindow(me, config);
-    }
-    
-
-});
-
diff --git a/Asynchronous_Download_userInterface_sitools2/resourcePluginParamsPanel.js b/Asynchronous_Download_userInterface_sitools2/resourcePluginParamsPanel.js
deleted file mode 100644
index 874eac6..0000000
--- a/Asynchronous_Download_userInterface_sitools2/resourcePluginParamsPanel.js
+++ /dev/null
@@ -1,276 +0,0 @@
-/*******************************************************************************
- * Copyright 2010-2014 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
- * 
- * This file is part of SITools2.
- * 
- * SITools2 is free software: you can redistribute it and/or modify it under the
- * terms of the GNU General Public License as published by the Free Software
- * Foundation, either version 3 of the License, or (at your option) any later
- * version.
- * 
- * SITools2 is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
- * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License along with
- * SITools2. If not, see <http://www.gnu.org/licenses/>.
- ******************************************************************************/
-/*global Ext, sitools, i18n, SitoolsDesk */
-
-Ext.namespace('sitools.user.component.dataviews');
-/**
- * @cfg {Ext.menu.menu} contextMenu the contextMenu that call the plugin and will execute onResourceCallClick method
- * @cfg {Ext.data.Record} resource the resource record
- * @cfg {string} url the base url of the resource
- * @cfg {string} methods the methods allowed with the format method1|method2|...|methodN
- * @cfg {string} runType the runTypeUserInput defined in the resource
- * @cfg {boolean} withSelection true if there was a selection, false otherwise
- * @cfg {Array} parameters the parameters
- * @class sitools.user.component.dataviews.resourcePluginParamsPanel
- * @extends Ext.Window
- */
-sitools.user.component.dataviews.resourcePluginParamsPanel = Ext.extend(Ext.Panel, {
-//sitools.user.component.livegrid.resourcePluginParamsWindow = Ext.extend(Ext.Window, {
-    width : "450",
-    
-    showMethod : false, 
-    defaultMethod : "",
-    showRunType : false, 
-    initComponent : function () {
-        var methodsArray = this.methods.split("|");
-        this.showMethod = methodsArray.length > 1;
-        this.defaultMethod = methodsArray[0];
-        
-        this.methodsStore = new Ext.data.ArrayStore({
-            fields: ["method"],
-            idIndex: 0
-        });
-    
-        Ext.each(methodsArray, function (item, index) {
-            this.methodsStore.add(new Ext.data.Record({
-                method : item
-            }));
-        }, this);
-        
-        var formCommonParametersFields = [];
-        var comboMethod = new Ext.form.ComboBox({                
-            xtype : 'combo',
-            mode : 'local',
-            triggerAction : 'all',
-            editable : false,
-            name : 'method',
-            fieldLabel : i18n.get('label.method'),
-            width : 100,
-            store : this.methodsStore,
-            valueField : 'method',
-            displayField : 'method',
-            anchor : "100%",
-            value : this.defaultMethod,
-            forceSelection : true
-        });
-        this.items = [];
-        if (this.showMethod) {
-			formCommonParametersFields.push(comboMethod);
-			this.formParams = new Ext.form.FormPanel({
-	            padding: 5,
-	//            title : "Request parameters",
-	            items : [{
-	                xtype : 'fieldset',
-	                title : i18n.get("label.commonParameters"),
-	                items : formCommonParametersFields
-	            }]
-	        });
-	        
-	        this.items.push(this.formParams);			
-        }
-        
-        var userInputParams = [];
-	this.user = projectGlobal.user || {
-                        firstName : "public",
-                        identifier : "public",
-                        email : "&nbsp;"
-                        };
-
-        Ext.each(this.resource.parameters, function (value, index) {
-            if (value.type == "PARAMETER_USER_INPUT" && value.userUpdatable) {
-                if(value.name == "Email" && this.user.identifier != "public"){
-			//if user is not public donnot show email input field
-		}else{
-			var item = this.buildFormItemFromParam(value);
-	        	userInputParams.push(item);
-                	if (value.name == "runTypeUserInput") {
-                		this.showRunType = true;
-                        }
-
-		}
-            }
-        }, this);
-
-        if (!Ext.isEmpty(userInputParams)) {
-            this.formParamsUserInput = new Ext.form.FormPanel({
-                padding: 5,
-                labelWidth : 150, 
-                items : {
-                    xtype : 'fieldset',
-                    title : i18n.get("label.specificParameter"),
-                    items : userInputParams
-                }
-            });  
-            this.items.push(this.formParamsUserInput);
-        }
-        
-        this.buttons = [{
-            text : i18n.get('label.submit'),
-            scope : this,
-            handler : this.onCall            
-        }, {
-            text : i18n.get('label.cancel'),
-            scope : this,
-            handler : function () {
-                this.ownerCt.close();
-                this.callback.call(undefined, false);
-            }
-        }];
-        sitools.user.component.dataviews.resourcePluginParamsPanel.superclass.initComponent.call(this);
-    },
-    
-    onCall : function () {        
-        var method;
-        if (this.showMethod) {
-	        var form = this.formParams.getForm();
-	        method = form.findField("method").getValue();
-        }
-        else {
-			method = this.defaultMethod;	
-        }
-		
-        var runTypeUserInput;
-        if (this.showRunType) {
-			runTypeUserInput = this.formParamsUserInput.getForm().findField("runTypeUserInput").getValue();
-        }
-        else {
-			runTypeUserInput = this.runType;
-        }
-        var limit;
-
-        var userParameters = {};
-        if (!Ext.isEmpty(this.formParamsUserInput)) {
-            var formParams = this.formParamsUserInput.getForm();
-            Ext.iterate(formParams.getValues(), function (key, value) {
-                userParameters[key] = value;                
-            });
-        }
-        if(userParameters["Email"] == ""){
-	    Ext.Msg.alert("Email error","Please insert an email address which will be used to inform you with the download link.");
-            return false;
-	} 
-        Ext.each(this.parameters, function (param) {
-            if (param.type == "PARAMETER_IN_QUERY") {
-                userParameters[param.name] = param.value;
-            }
-        });
-        
-        this.contextMenu.onResourceCallClick(this.resource, this.url, method, runTypeUserInput, limit, userParameters, this.postParameter, this.callback);
-        this.ownerCt.close();
-    }, 
-    buildFormItemFromParam : function (value, userInputParams) {
-		var valueType = value.valueType;
-        var item = {};
-        //specific case for boolean
-        if (valueType.indexOf("xs:boolean") != -1) {
-            valueType = "xs:enum[true,false]";
-        }
-        if (valueType.indexOf("xs:enum") != -1) {
-	        var enumeration = valueType.split("[");
-	        enumeration = enumeration[1].split("]");
-	        enumeration = enumeration[0].split(",");
-
-			var multiple = false;
-			if (valueType.indexOf("xs:enum-multiple") >= 0 || valueType.indexOf("xs:enum-editable-multiple") >= 0) {
-				multiple = true;
-			}
-			
-			var storeItems = [];
-			for (var i = 0; i < enumeration.length; i++) {
-				var tmp = enumeration[i].trim();
-				storeItems.push([ tmp, tmp]);
-			}
-			var store = new Ext.data.ArrayStore({
-                fields : ['value', 'text'],
-                data : storeItems, 
-                valueField : 'value', 
-                displayField : 'text'
-            });
-			
-			if (multiple) {
-				item = {
-					store : store,
-					name : value.name, 
-					xtype : "multiselect", 
-					values : value.value, 
-					delimiter : '|', 
-					fieldLabel : value.name, 
-					width : 235, 
-					tooltip : value.description
-				};
-			}
-			else {
-				item = {
-					store : store,
-					name : value.name, 
-					xtype : "combo", 
-					value : value.value, 
-					valueField : "value", 
-					displayField : "text", 
-					mode: 'local', 
-					fieldLabel : value.name, 
-					triggerAction : 'all',
-					selectOnFocus : true,
-					editable : false, 
-					anchor : "100%", 
-					tooltip : value.description
-				};
-			}
-        }
-        else {
-			item = {
-                name : value.name,
-                xtype : 'textfield',
-                value : value.value,
-                fieldLabel : value.name,
-                anchor : "100%", 
-				tooltip : value.description
-            };
-        }
-        return item;
-    }, 
-    /**
-     * Method called when trying to show this component with fixed navigation
-     * 
-     * @param {sitools.user.component.viewDataDetail} me the dataDetail view
-     * @param {} config config options
-     * @returns
-     */
-    showMeInFixedNav : function (me, config) {
-        Ext.apply(config.windowSettings, {
-            width : config.windowSettings.winWidth || DEFAULT_WIN_WIDTH,
-            height : config.windowSettings.winHeight || DEFAULT_WIN_HEIGHT
-        });
-        SitoolsDesk.openModalWindow(me, config);
-    }, 
-    /**
-     * Method called when trying to show this component with Desktop navigation
-     * 
-     * @param {sitools.user.component.viewDataDetail} me the dataDetail view
-     * @param {} config config options
-     * @returns
-     */
-    showMeInDesktopNav : function (me, config) {
-        Ext.apply(config.windowSettings, {
-            width : config.windowSettings.winWidth || DEFAULT_WIN_WIDTH,
-            height : config.windowSettings.winHeight || DEFAULT_WIN_HEIGHT
-        });
-        SitoolsDesk.openModalWindow(me, config);
-    }
-
-});
diff --git a/Enhanced_Node_Editor_adminInterface/GraphsNodeWin.js b/Enhanced_Node_Editor_adminInterface/GraphsNodeWin.js
deleted file mode 100644
index 1c45a45..0000000
--- a/Enhanced_Node_Editor_adminInterface/GraphsNodeWin.js
+++ /dev/null
@@ -1,268 +0,0 @@
-/***************************************
-* Copyright 2010-2014 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
-* 
-* This file is part of SITools2.
-* 
-* SITools2 is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-* 
-* SITools2 is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-* GNU General Public License for more details.
-* 
-* You should have received a copy of the GNU General Public License
-* along with SITools2.  If not, see <http://www.gnu.org/licenses/>.
-***************************************/
-/*global Ext, sitools, ID, i18n, document, showResponse, alertFailure, LOCALE, ImageChooser, 
- showHelp*/
-Ext.namespace('sitools.component.projects');
-
-Ext.define('sitools.admin.graphs.GraphsNodeWin', {
-    extend : 'Ext.Window',
-    width : 350,
-    modal : true,
-    closable : false,
-
-    initComponent : function () {
-        projectId = this.projectId;
-        this.title = i18n.get('label.nodeDescription');
-        /* paramétres du formulaire */
-        this.itemsForm = [{
-            fieldLabel : i18n.get('label.name'),
-            name : 'name',
-            anchor : '100%',
-            allowBlank : false
-        }, {
-            fieldLabel : i18n.get('label.description'),
-            name : 'description',
-            anchor : '100%'
-        }, {
-            xtype : 'sitoolsSelectImage',
-            name : 'image',
-            fieldLabel : i18n.get('label.image'),
-            anchor : '100%',
-            growMax : 400
-        },{
-            xtype: 'button',
-            id: 'linktodataset',
-            text: '<span style="">Link to a dataset</span>',
-            anchor: '65%',
-            margin: '0 5% 0 0',
-            handler: function() {
-                up = Ext.create("sitools.admin.graphs.GraphsDatasetWin", {
-                    graphTree : true,
-                    url : loadUrl.get('APP_URL') + '/projects/' + projectId + '?media=json',
-                    mode : 'link',
-                    form : form
-                });
-                up.show(this);
-
-            }
-        }, {
-            xtype: 'button',
-            id: 'unlinkbutton',
-            text: '<span style="">Unlink</span>',
-            disabled:true,
-            anchor: '35%',
-            margin: '0 0 0 5%',
-            handler: function() {
-                Ext.getCmp('unlinkbutton').setDisabled(true);
-                form.findField('nbRecord').setValue('');
-                form.findField('datasetURL').setValue('');
-                Ext.getCmp('datatablecheckbox').setValue(false);
-                Ext.getCmp('queryformcheckbox').setValue(false);
-                Ext.getCmp('datatablecheckbox').setDisabled(true);
-                Ext.getCmp('queryformcheckbox').setDisabled(true);
-            }
-        },{
-            name : 'nbRecord',
-            fieldLabel : 'Number of records',
-            readOnly: true,
-            cls: 'x-item-disabled',
-            anchor : '100%'
-        },{
-            name : 'datasetURL',
-            fieldLabel : 'Dataset URL',
-            readOnly: true,
-            cls: 'x-item-disabled',
-            anchor : '100%'
-        }, {
-            xtype: 'checkboxfield',
-            boxLabel: 'Data table',
-            name: 'datatable',
-            width: '40%',
-            margin: '0 10% 0 10%',
-            disabled: true,
-            id: 'datatablecheckbox'
-        }, {
-            xtype: 'checkboxfield',
-            boxLabel: 'Query form',
-            name: 'queryform',
-            width: '40%',
-            margin: '0 10% 0 10%',
-            disabled:true,
-            id: 'queryformcheckbox'
-        } ];
-        this.bbar = {
-            xtype : 'toolbar',
-            defaults : {
-                scope : this
-            },
-            items : [ '->', {
-                text : i18n.get('label.ok'),
-                handler : this._onOK
-            }, {
-                text : i18n.get('label.cancel'),
-                handler : this._onCancel
-            } ]
-        };
-
-        this.formPanel = Ext.create('Ext.form.Panel', {
-            labelWidth : 100,
-            border : false,
-            bodyBorder : false,
-            padding : '5 5 5 5',
-            defaultType : 'textfield',
-            items : this.itemsForm
-
-        });
-
-        this.items = [ this.formPanel ];
-        this.callParent(arguments);
-    },
-
-    afterRender : function () {
-        this.callParent(arguments);
-
-        if (this.mode == 'edit') {
-            var node = this.node;
-            form = this.formPanel.getForm();
-            var rec = {};
-            if (node.get('text').search("clickDatasetIcone") != -1){
-                rec.name = node.get('text').split('<br/>')[0];
-                //alert(node.get('text'));
-                rec.datasetURL = node.get('text').split('clickDatasetIcone(\'')[1].split('\', \'')[0];
-                rec.nbRecord = node.get('nbRecord');
-                if (node.get('text').search("Display data") != -1){
-                    Ext.getCmp('datatablecheckbox').setValue(true);
-                }
-                if (node.get('text').search("Query form") != -1){
-                    Ext.getCmp('queryformcheckbox').setValue(true);
-                }
-            } else {
-                rec.name = node.get('text');
-            }
-            rec.image = node.get('image').url;
-            rec.description = node.get('description');
-            form.setValues(rec);
-        } else {
-            form = this.formPanel.getForm();
-        }
-        if (!Ext.isEmpty(form.findField('datasetURL').getValue())){
-            Ext.getCmp('linktodataset').setText('<span style="">Link to another dataset</span>');
-            Ext.getCmp('unlinkbutton').setDisabled(false);
-            Ext.getCmp('datatablecheckbox').setDisabled(false);
-            Ext.getCmp('queryformcheckbox').setDisabled(false);
-
-        }
-    },
-
-    _onOK : function () {
-        var form = this.formPanel.getForm();
-        //alert(form.findField('datatable').checked);
-        if (!form.isValid()) {
-            return;
-        }
-
-        var values = form.getValues();
-
-        if (!Ext.isEmpty(values.datasetURL) && !form.findField('datatable').checked && !form.findField('queryform').checked) {
-            Ext.Msg.alert("Form error", "Please choose a method to show data.");
-            return false;
-        }
-        var image = {};
-        console.log(values);
-        if (!Ext.isEmpty(values.image)) {
-            image.url = values.image;
-            image.type = "Image";
-            image.mediaType = "Image";
-        }
-        if (this.mode == 'edit') {
-            if (!Ext.isEmpty(values.datasetURL)) {
-                var namee = values.name;
-                if (form.findField('datatable').checked || form.findField('queryform').checked) {
-                    namee += '<br/>';
-                }
-                if (form.findField('datatable').checked) {
-                    namee += '<a href="#" class="overDatasetService" onClick="sitools.user.utils.DatasetUtils.clickDatasetIcone(\''+values.datasetURL
-                    +'\', \'data\');return false;"><img class="datasetochart_icon" src="/sitools/common/res/images/icons/32x32/tree_datasets_32.png" data-qtip="Display data"></a>';
-                }
-                if (form.findField('queryform').checked) {
-                    namee += '<a href="#" class="overDatasetService" onClick="sitools.user.utils.DatasetUtils.clickDatasetIcone(\''+values.datasetURL
-                    +'\', \'forms\');return false;"><img class="datasetochart_icon" src="/sitools/common/res/images/icons/32x32/openSearch_32.png" data-qtip="Query form"></a>';
-                }
-                this.node.set('text', namee);
-            } else {
-                this.node.set('text', values.name);
-            }
-            if (!Ext.isEmpty(values.nbRecord)) {
-                this.node.set('nbRecord', values.nbRecord);
-            } else this.node.set('nbRecord', '0');
-            this.node.set('description', values.description);
-            this.node.set('image', image);
-            console.log(this.node);
-            var saveButton = this.graphTree.graphsCrud.down('button#saveGraphBtnId');
-            saveButton.addCls('not-save-textfield');
-        } else {
-            var newNode = Ext.create('sitools.admin.graphs.GraphNodeModel', {
-                image : image,
-                description : values.description,
-                type : "node",
-                children : []
-            });
-            //console.log(newNode);
-            if (!Ext.isEmpty(values.nbRecord)) {
-                newNode.set('nbRecord', values.nbRecord);
-            } else newNode.set('nbRecord', '0');
-            if (!Ext.isEmpty(values.datasetURL)) {
-                var namee = values.name;
-                if (form.findField('datatable').checked || form.findField('queryform').checked) {
-                    namee += '<br/>';
-                }
-                if (form.findField('datatable').checked) {
-                    namee += '<a href="#" class="overDatasetService" onClick="sitools.user.utils.DatasetUtils.clickDatasetIcone(\''+values.datasetURL
-                    +'\', \'data\');return false;"><img class="datasetochart_icon" src="/sitools/common/res/images/icons/32x32/tree_datasets_32.png" data-qtip="Display data"></a>';
-                }
-                if (form.findField('queryform').checked) {
-                    namee += '<a href="#" class="overDatasetService" onClick="sitools.user.utils.DatasetUtils.clickDatasetIcone(\''+values.datasetURL
-                    +'\', \'forms\');return false;"><img class="datasetochart_icon" src="/sitools/common/res/images/icons/32x32/openSearch_32.png" data-qtip="Query form"></a>';
-                }
-                newNode.set('text', namee);
-            } else {
-                newNode.set('text', values.name);
-            }
-
-            if (!this.node.isExpanded()) {
-                this.node.expand();
-            }
-            this.node.appendChild(newNode);
-        }
-
-        //var saveButton = this.graphTree.graphsCrud.down('button#saveGraphBtnId');
-        //saveButton.addCls('not-save-textfield');
-        //console.log(saveButton);
-        this.close();
-    },
-
-    _onCancel : function () {
-        this.destroy();
-    },
-
-    _onUpload : function () {
-        Ext.msg.alert("Information", "TODO");
-    }
-
-});
diff --git a/Module_DatasetExplorerD3_sitools2v3/DatasetExplorerD3.js b/Module_DatasetExplorerD3_sitools2v3/DatasetExplorerD3.js
deleted file mode 100644
index ecd99e1..0000000
--- a/Module_DatasetExplorerD3_sitools2v3/DatasetExplorerD3.js
+++ /dev/null
@@ -1,29 +0,0 @@
-Ext.namespace('sitools.user.modules');
-
-Ext.define( 'sitools.user.modules.DatasetExplorerD3', {
-    extend: 'sitools.user.core.Module',
-
-
-    init : function (moduleModel) {
-        var view = Ext.create('sitools.user.view.modules.datasetExplorerD3.DatasetExplorerD3');
-        this.setViewCmp(view);
-
-        this.show(this.getViewCmp());
-
-        this.callParent(arguments);
-    },
-
-    /**
-     * method called when trying to save preference
-     * 
-     * @returns
-     */
-    _getSettings : function () {
-        return {
-            preferencesPath : "/modules",
-            preferencesFileName : this.id
-        };
-
-    }
-
-});
\ No newline at end of file
diff --git a/Module_DatasetExplorerD3_sitools2v3/DatasetExplorerD3View.js b/Module_DatasetExplorerD3_sitools2v3/DatasetExplorerD3View.js
deleted file mode 100644
index 39e54c8..0000000
--- a/Module_DatasetExplorerD3_sitools2v3/DatasetExplorerD3View.js
+++ /dev/null
@@ -1,442 +0,0 @@
-Ext.namespace('sitools.user.view.modules.datasetExplorerD3');
-/**
- * ProjectDescription Module
- * @class sitools.user.modules.projectDescription
- * @extends Ext.Panel
- */
-Ext.define('sitools.user.view.modules.datasetExplorerD3.DatasetExplorerD3', {
-    extend : 'Ext.panel.Panel',
-    layout : 'fit',
-    id : 'ds',
-    border : false,
-    bodyBorder : false,
-    listeners: {
-        //afterrender:function(){console.log( 'afterrender ' +this.getHeight())},
-        boxready: function() {
-            //alert(this.getHeight()+' '+this.getWidth());
-            var me = this;
-            //me.doc = Ext.getDoc();
-            //me.callParent(arguments);
-            me.drawMap();
-                 },
-        resize: function() {
-            //alert(this.getHeight()+' '+this.getWidth());
-            var me = this;
-            d3.select("#vis").remove();
-            //me.doc = Ext.getDoc();
-            //me.callParent(arguments);
-            me.drawMap();
-        }
-    },
-    initComponent : function () {
-        this.callParent(arguments);
-
-    },
-
-    drawMap : function() {
-        if (Math.min(this.getHeight(),this.getWidth()) < 400) var fontSize = '0px';
-        else if (Math.min(this.getHeight(),this.getWidth()) > 800) var fontSize = '14px';
-        else var fontSize = (Math.round(Math.min(this.getHeight(),this.getWidth()).toFixed(1)/100)+Math.floor(Math.min(this.getHeight(),this.getWidth()).toFixed(1)/100)-2).toString()+'px';
-
-        me = this;
-        var project = Ext.getStore('ProjectStore').getProject();
-        var d = document,
-            g = d.getElementById('ds');
-        if (this.getHeight() > this.getWidth()) {
-        var width = this.getWidth()/1.02,
-            height = width;
-        } else {
-            var height = this.getHeight()/1.05 ,
-            width = height;
-        }
-        function t(n, e) {
-            return n === e ? !0 : n.children ? n.children.some(function(n) {
-                return t(n, e)
-            }) : !1
-        }
-
-        function n(t) {
-            if (t.children) {
-                var e = t.children.map(n),
-                r = d3.hsl(e[0]),
-                a = d3.hsl(e[1]);
-                return d3.hsl((r.h + a.h) / 2, 1.2 * r.s, r.l / 1.2)
-            }
-            return t.colour || "#fff"
-        }
-
-        function e(t) {
-            var n = r(t),
-                e = d3.interpolate(d.domain(), [t.x, t.x + t.dx]),
-                a = d3.interpolate(u.domain(), [t.y, n]),
-                i = d3.interpolate(u.range(), [t.y ? 20 : 0, o]);
-            return function(t) {
-                return function(n) {
-                        return d.domain(e(n)), u.domain(a(n)).range(i(n)), x(t)
-                }
-            }
-        }
-
-        function r(t) {
-            return t.children ? Math.max.apply(Math, t.children.map(r)) : t.y + t.dy
-        }
-
-        function a(t) {
-            return .299 * t.r + .587 * t.g + .114 * t.b
-        }
-        var radius = width / 2,
-            x = d3.scale.linear().range([0, 2 * Math.PI]),
-            y = d3.scale.pow().exponent(1.3).domain([0, 1]).range([0, radius]),
-            padding = 5,
-            duration = 500;
-
-        var color = d3.scale.category20c();
-
-        var ds = d3.select("#ds");
-        var div = ds.append("div").attr("id","vis");
-        var vis = div.append("svg")
-            .attr("width", width + padding * 2)
-            .attr("height", height + padding * 2)
-            .append("g")
-            .attr("id", "container")
-            .attr("transform", "translate(" + [radius + padding, radius + padding] + ")");
-        var partition = d3.layout.partition()
-            .sort(null)
-            .value(function(d) {
-                //console.log(Math.sqrt(d.nbRecord));
-                return 5.8-d.depth;
-            });
-
-        var arc = d3.svg.arc()
-            .startAngle(function(d) { return Math.max(0, Math.min(2 * Math.PI, x(d.x))); })
-            .endAngle(function(d) { return Math.max(0, Math.min(2 * Math.PI, x(d.x + d.dx))); })
-            .innerRadius(function(d) { return Math.max(0, d.y ? y(d.y) : d.y); })
-            .outerRadius(function(d) { return Math.max(0, y(d.y + d.dy)); });
-        //d3.json("graph.json", function(error, json) {
-        d3.json(project.get('sitoolsAttachementForUsers')+"/graph?media=json", function(error, json) {
-            d3.select("#container").on("mouseleave", mouseleave);
-            //d3.select("#container").on("touchend", mouseleave);
-            json.graph.text = 'Solar';
-            json.graph.children = json.graph.nodeList;
-            var nodes = partition.nodes({children: json.graph.children[0].children})
-            /*.filter(function(d) {
-                return (d.dx > 0.05); // 0.005 radians = 0.29 degrees
-            })*/;
-            var path = vis.selectAll("path").data(nodes);
-            var pathEnter = path.enter().append("path")
-            .attr("id", function(d, i) { return "path-" + i; })
-            .attr("class", "pathSolarProject")
-            .attr("d", arc)
-            .attr("fill-rule", "evenodd")
-            .style("fill", function(d, i) { if (i==0) return d.color = '#FDB813'; else return d.color = color((d.children ? d : d.parent).text);})
-            .on("mouseover", mouseover)
-            //.on("touchenter", mouseover)
-            //.on("touchstart", mouseover)
-            .on("click", click);
-            var tooltips= pathEnter
-                .append("title")
-                .text(function(d, i) { if (i != 0) return d.description? d.description : d.text.split('<br/>')[0]; });
-
-            var text = vis.selectAll("text").data(nodes);
-            var textEnter = text.enter().append("text")
-                .attr("class", "pathSolarProject")
-                .style("fill-opacity", 1)
-                .style("fill", function(d) {
-                    return brightness(d3.rgb(d.color)) < 125 ? "#fff" : "#000";
-                })
-                .attr("text-anchor", function(d, i) {
-                    if (i == 0) {
-                        return "middle";
-                    }
-                    return x(d.x + d.dx / 2) > Math.PI ? "end" : "start";
-                })
-                .attr("dy", ".3em")
-                .attr("dx", function(d, i){
-                    if (i == 0) return 0;
-                    return x(d.x + d.dx / 2) > Math.PI ? "-1.5em" : "1.5em";
-                })
-                .attr("transform", function(d, i) {
-                    if (i == 0) {
-                        return null;
-                    }
-                    var multiline = (d.text || "").split(" ").length > 1,
-                    angle = x(d.x + d.dx / 2) * 180 / Math.PI - 90,
-                    rotate = angle + (multiline ? -.5 : 0);
-                    return "rotate(" + rotate + ")translate(" + (y(d.y) + padding) + ")rotate(" + (angle > 90 ? -180 : 0) + ")";
-                })
-                .on("click", click);
-            textEnter.append("title")
-                .attr("class", "pathSolarProject")
-                .text(function(d, i) { if (i != 0) return d.description? d.description : d.text.split('<br/>')[0]; });
-            var image = vis.selectAll("image").data(nodes);
-            imageEnter = image.enter().append("image")
-                .attr("class","dataIconImg pathSolarProject")
-                .attr("xlink:href",function(d, i){
-                    if (i == 0) return "";
-                    else {
-                        if (d.type == "node") {
-                            if (d.text.search("Query form") > -1)
-                                return brightness(d3.rgb(d.color)) < 125 ? "/sitools/upload/search-white.png" : "/sitools/upload/search-black.png";
-                            else if (d.text.search("Display data") > -1)
-                                return brightness(d3.rgb(d.color)) < 125 ? "/sitools/upload/database-white.png" : "/sitools/upload/database-black.png";
-                            else
-                                return "";
-                        }
-                        else return brightness(d3.rgb(d.color)) < 125 ? "/sitools/upload/database-white.png" : "/sitools/upload/database-black.png";
-                    }
-                })
-                .attr('width', "1em")
-                .attr('height', "1em")
-                .style("fill-opacity", 1)
-                .style("fill", function(d) {
-                    return brightness(d3.rgb(d.color)) < 125 ? "#fff" : "#000";
-                })
-                .style('cursor','pointer')
-                .attr("y", "-0.5em")
-                .attr("x", function(d){
-                    return x(d.x + d.dx / 2) > Math.PI ? "-1.2em" : "0.2em";
-                })
-                .attr("transform", function(d, i) {
-                    if (i == 0) {
-                        return null;
-                    }
-                    var multiline = (d.text || "").split(" ").length > 1,
-                    angle = x(d.x + d.dx / 2) * 180 / Math.PI - 90,
-                    rotate = angle + (multiline ? -.5 : 0);
-                    return "rotate(" + rotate + ")translate(" + (y(d.y) + padding) + ")rotate(" + (angle > 90 ? -180 : 0) + ")";
-                })
-                .on("click", function(d,i) {
-                    if (i == 0){
-                        return false;
-                    }
-                    if (d.type == "node" && (d.text.search("Query form")>-1))
-                        sitools.user.utils.DatasetUtils.clickDatasetIcone(d.text.split("clickDatasetIcone('")[1].split(", 'forms'")[0], 'forms');
-                    if (d.type == "node" && (d.text.search("Display data")>-1))
-                        sitools.user.utils.DatasetUtils.clickDatasetIcone(d.text.split("clickDatasetIcone('")[1].split("', 'data'")[0], 'data');
-                    if (d.type == "dataset")
-                        sitools.user.utils.DatasetUtils.clickDatasetIcone(d.url, 'data');
-                    return false;
-                })
-                .on("mouseover", iconhover);
-            function iconhover(d,i) {
-                imageEnter.attr("width", function(e){
-                        if (d.text == e.text) {
-                            return "1.1em";
-                        } else {
-                            return "1em";
-                        }
-                    })
-                    .attr("height", function(e){
-                        if (d.text == e.text) {
-                            return "1.1em";
-                        } else {
-                            return "1em";
-                        }
-                    });
-            }
-            image.append("svg:title")
-                .text(function(d, i) {
-                  if (i == 0) return "";
-                    else {
-                        if (d.type == "node") {
-                            if (d.text.search("Query form") > -1)
-                                return "Query form";
-                            else if (d.text.search("Display data") > -1)
-                                return "Display data";
-                            else
-                                return "";
-                        }
-                        else return "Display data";
-                    }
-            });
-            if (Math.min(me.getHeight(), me.getWidth()) >= 400){
-                var tspan = textEnter.append("tspan")
-                    .attr("x", 0)
-                    .style("font-weight", function(d, i) { return i == 0 ? "bold" : ""; })
-                    .style("font-size", function(d, i) { return fontSize; })
-                    .text(function(d, i) { if (i == 0) { return 'SOLAR'; } return d.depth ? d.text.split("<br/>")[0] : ""; });
-            }
-            function click(d) {
-                d3.select("#container").on("mouseleave", null);
-                d3.selectAll(".pathSolarProject").on("mouseover", null);
-                path.transition()
-                    .duration(duration)
-                    .attrTween("d", arcTween(d));
-                    d3.selectAll(".pathSolarProject")
-                    .style("opacity", 1);
-                setTimeout(function(){
-                    d3.select("#container").on("mouseleave", mouseleave);
-                    d3.selectAll(".pathSolarProject").on("mouseover", mouseover);
-                        //.on("touchstart", mouseover)
-                        //.on("touchenter", mouseover);
-                }, duration);
-
-                // Somewhat of a hack as we rely on arcTween updating the scales.
-                text.style("visibility", function(e) {
-                    return isParentOf(d, e) ? null : d3.select(this).style("visibility");
-                })
-                    .transition()
-                    .duration(duration)
-                    .attrTween("text-anchor", function(d, i) {
-                        if (i == 0) {
-                            return null;
-                        }
-                        return function() {
-                            return x(d.x + d.dx / 2) > Math.PI ? "end" : "start";
-                        };
-                    })
-                    .attr("dx", function(d, i){
-                        if (i == 0) return 0;
-                        else return x(d.x + d.dx / 2) > Math.PI ? "-1.5em" : "1.5em";
-                    })
-                    .attrTween("transform", function(d, i) {
-                        if (i == 0) {
-                            return null;
-                        }
-                        var multiline = (d.text || "").split(" ").length > 1;
-                        return function() {
-                            var angle = x(d.x + d.dx / 2) * 180 / Math.PI - 90,
-                            rotate = angle + (multiline ? -.5 : 0);
-                            return "rotate(" + rotate + ")translate(" + (y(d.y) + padding) + ")rotate(" + (angle > 90 ? -180 : 0) + ")";
-                        };
-                    })
-                    .style("fill-opacity", function(e) { return isParentOf(d, e) ? 1 : 1e-6; })
-                    .each("end", function(e) {
-                        d3.select(this).style("visibility", isParentOf(d, e) ? null : "hidden");
-                    });
-                setTimeout(function(){
-                    text.attr("dx", function(d, i){
-                        if (i == 0) return 0;
-                        else return x(d.x + d.dx / 2) > Math.PI ? "-1.5em" : "1.5em";
-                    });
-                }, duration+20);
-                image.style("visibility", function(e) {
-                    return isParentOf(d, e) ? null : d3.select(this).style("visibility");
-                })
-                    .transition()
-                    .duration(duration)
-                    .attr("y", "-0.5em")
-                    .attr("x", function(d){
-                        return x(d.x + d.dx / 2) > Math.PI ? "-1.2em" : "0.2em";
-                    })
-                    .attrTween("transform", function(d, i) {
-                        if (i == 0) {
-                            return null;
-                        }
-                        var multiline = (d.text || "").split(" ").length > 1;
-                        return function() {
-                            var angle = x(d.x + d.dx / 2) * 180 / Math.PI - 90,
-                            rotate = angle + (multiline ? -.5 : 0);
-                            return "rotate(" + rotate + ")translate(" + (y(d.y) + padding) + ")rotate(" + (angle > 90 ? -180 : 0) + ")";
-                        };
-                    })
-                    .style("fill-opacity", function(e) { return isParentOf(d, e) ? 1 : 1e-6; })
-                    .each("end", function(e) {
-                        d3.select(this).style("visibility", isParentOf(d, e) ? null : "hidden");
-                    });
-                setTimeout(function(){
-                    image.attr("x", function(d){
-                        return x(d.x + d.dx / 2) > Math.PI ? "-1.2em" : "0.2em";;
-                    });
-                }, duration+20);
-            }
-            function mouseleave(d) {
-                // Hide the breadcrumb trail
-                //d3.select("#trail")
-                //  .style("visibility", "hidden");
-
-                // Deactivate all segments during transition.
-                d3.selectAll(".pathSolarProject").on("mouseover", null);
-
-                // Transition each segment to full opacity and then reactivate it.
-                d3.selectAll(".pathSolarProject")
-                    .transition()
-                    .duration(500)
-                    .style("opacity", 1)
-                    .each("end", function() {
-                        d3.select(this).on("mouseover", mouseover);
-                        //d3.select(this).on("touchstart", mouseover);
-                        //d3.select(this).on("touchenter", mouseover);
-                    });
-            }
-
-            function mouseover(d) {
-                var sequenceArray = getAncestors(d);
-                //updateBreadcrumbs(sequenceArray, percentageString);
-
-                // Fade all the segments.
-                d3.selectAll(".pathSolarProject")
-                    .style("opacity", 0.4);
-                // Then highlight only those that are an ancestor of the current segment.
-                vis.selectAll(".pathSolarProject")
-                    .filter(function(node) {
-                        return (sequenceArray.indexOf(node) >= 0);
-                    })
-                    .style("opacity", 1);
-                vis.selectAll("text")
-                    .filter(function(node) {
-                        return (sequenceArray.indexOf(node) >= 0);
-                    })
-                    .style("opacity", 1);
-                vis.selectAll("image")
-                    .filter(function(node) {
-                        return (sequenceArray.indexOf(node) >= 0);
-                    })
-                    .style("opacity", 1);
-            }
-            function isParentOf(p, c) {
-                if (p === c) return true;
-                if (p.children) {
-                    return p.children.some(function(d) {
-                        return isParentOf(d, c);
-                    });
-                }
-                return false;
-            }
-
-            function getAncestors(node) {
-                var path = [];
-                var current = node;
-                while (current.parent) {
-                    path.unshift(current);
-                    current = current.parent;
-                }
-                path.unshift(current);
-                return path;
-            }
-
-            // Interpolate the scales!
-            function arcTween(d) {
-                var my = maxY(d),
-                    xd = d3.interpolate(x.domain(), [d.x, d.x + d.dx]),
-                    yd = d3.interpolate(y.domain(), [d.y, my]),
-                    yr = d3.interpolate(y.range(), [d.y ? 20 : 0, radius]);
-                return function(d) {
-                    return function(t) { x.domain(xd(t)); y.domain(yd(t)).range(yr(t)); return arc(d); };
-                };
-            }
-
-            function maxY(d) {
-                return d.children ? Math.max.apply(Math, d.children.map(maxY)) : d.y + d.dy;
-            }
-
-            // http://www.w3.org/WAI/ER/WD-AERT/#color-contrast
-            function brightness(rgb) {
-                return rgb.r * .299 + rgb.g * .587 + rgb.b * .114;
-            }
-
-        });
-    },
-    /**
-     * method called when trying to save preference
-     * @returns
-     */
-    _getSettings : function () {
-        return {
-            preferencesPath : "/modules",
-            preferencesFileName : this.id,
-            xtype : this.$className
-        };
-
-    }
-});
diff --git a/Module_DatasetExplorerD3_sitools2v3/style.css b/Module_DatasetExplorerD3_sitools2v3/style.css
deleted file mode 100644
index de2968c..0000000
--- a/Module_DatasetExplorerD3_sitools2v3/style.css
+++ /dev/null
@@ -1,20 +0,0 @@
-svg {
-	position: absolute;
-	top: 10px;
-	left: 0;
-	right: 0;
-	margin-left: auto;
-	margin-right: auto;
-}
-path {
-    cursor: pointer;
-    stroke: #fff;
-    stroke-width: 1;
-}
-text {
-    cursor: pointer;
-    font-family: Arial, Helvetica, sans-serif;
-}
-#vis {
-  border-radius: 50%;
-}
diff --git a/Module_DatasetExplorerOchart_sitools2/ExtJSOrgChart.css b/Module_DatasetExplorerOchart_sitools2/ExtJSOrgChart.css
deleted file mode 100644
index 676f71a..0000000
--- a/Module_DatasetExplorerOchart_sitools2/ExtJSOrgChart.css
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Basic styling */
-/* Draw the lines */
-.ExtJSOrgChart tr,td,table{
-  border:none;
-}
-.ExtJSOrgChart .line {
-  height                : 20px;
-  width                 : 2px;
-}
-
-.ExtJSOrgChart .down {
-  background-color 		: gray;	
-  margin 				: 0px auto;
-}
-
-.ExtJSOrgChart .top {
-  border-top          : 2px solid gray;
-}
-
-.ExtJSOrgChart .left {
-  border-right          : 1px solid gray;
-}
-
-.ExtJSOrgChart .right {
-  border-left           : 1px solid gray;
-}
-
-/* node cell */
-.ExtJSOrgChart td {
-  text-align            : center;
-  vertical-align        : top;
-  padding               : 0;
-}
-
-/* The node */
-.ExtJSOrgChart .node {
-  background-color 		: #D8D8D8;
-  box-shadow: 5px 5px 4px #888888;
-  display               : inline-block;
-  padding				: 5px 5px 5px 5px;
-  width                 : auto;
-  height                : auto;
-  z-index 				: 10;
-  margin               : 0 2px;
-  margin-left: 4px;
-  margin-right: 4px;
-}
-.ExtJSOrgChart .notdataset {
-  padding				: 8px 8px 8px 8px;
-  font-size: 15px;
-  font-weight: bold;
-  min-width: 144px;
-}
-.ExtJSOrgChart .notdatasettop {
-  padding				: 8px 8px 8px 8px;
-  font-size:25px;
-  font-weight: bold;
-}
-.ExtJSOrgChart .leaf {
-	height: 186px;
-	border-radius: 8px;
-	min-width: 80px;
-	font-size: 11px;
-	font-weight: bold;
-}
-.ExtJSOrgChart .pictitle{
-	height:100px;
-}
-
-/* jQuery drag 'n drop */
-
-.drag-active {
-  border-style			: dotted !important;
-}
-
-.drop-hover {
-  border-style			: solid !important;
-  border-color 			: #E05E00 !important;
-}
diff --git a/Module_DatasetExplorerOchart_sitools2/ExtJSOrgChart.js b/Module_DatasetExplorerOchart_sitools2/ExtJSOrgChart.js
deleted file mode 100644
index 2143bbf..0000000
--- a/Module_DatasetExplorerOchart_sitools2/ExtJSOrgChart.js
+++ /dev/null
@@ -1,225 +0,0 @@
-/**
- * Converted into Ext JS by : Shariq Shaikh
- *
- * http://twitter.com/shaikhmshariq
- * Adopted from jQuery org-chart/tree plugin (https://github.com/wesnolte/ExtJSOrgChart).
- *
- * Author: Wes Nolte
- * http://twitter.com/wesnolte 
- *
- * Based on the work of Mark Lee
- * http://www.capricasoftware.co.uk 
- *
- * Copyright (c) 2011 Wesley Nolte
- * Dual licensed under the MIT and GPL licenses.
- *
- */
-Ext.namespace('sitools.user.modules.ExtJSOrgChart');
-//structure to hold node details 
-sitools.user.modules.ExtJSOrgChart.createNode = function (node){
-	//this.parentId=parentId;
-	//this.id=id;
-	this.text=node.text;
-	this.id=node.datasetId;
-	this.type=node.type;
-	this.url=node.url;
-	this.Nb=node.nbRecord;
-	this.description=node.description;
-	if (!Ext.isEmpty(node.imageDs)) {
-		this.image=node.imageDs;
-	} else if (!Ext.isEmpty(node.image)){
-		this.image=node.image.url;
-	} else {
-		this.image=SITOOLS_DEFAULT_PROJECT_IMAGE_URL;
-	}
-	this.child= new Array();
-	this.getImage=getImage;
-	function getImage(){
-		return this.image;
-	}
-	this.getText=getText;
-	function getText(){
-		return this.text;
-	}
-	this.getUrl=getUrl;
-	function getUrl(){
-		return this.url;
-	}
-	this.getID=getID;
-	function getID(){
-		return this.id;
-	}
-	this.getType=getType;
-	function getType(){
-		return this.type;
-	}
-	this.getNb=getNb;
-	function getNb(){
-		return this.Nb;
-	}
-	this.getDes=getDes;
-	function getDes(){
-		return this.description;
-	}
-	this.getChildNodes=getChildNodes;
-	function getChildNodes(){
-		return this.child;
-	}
-	this.hasChildNodes=hasChildNodes;
-	function hasChildNodes(){
-		return this.child.length > 0;
-	}
-	this.addChild=addChild;
-	function addChild(childElem){
-		this.child.push(childElem);
-		return this;
-	}
-	this.setChildNodes=setChildNodes;
-	function setChildNodes(child){
-		this.child=child;
-	}
-}
-sitools.user.modules.ExtJSOrgChart.opts=null;
-sitools.user.modules.ExtJSOrgChart.buildNode= function (node, appendTo, level, opts) {
-	//sitools.user.modules.ExtJSOrgChart.opts=opts;
-	//console.log(sitools.user.modules.ExtJSOrgChart.opts);
-    var tableObj = Ext.DomHelper.append(appendTo, "<table cellpadding='0' cellspacing='0' border='1'/>");
-    var tbodyObj = Ext.DomHelper.append(tableObj, "<tbody/>");
-
-    // Construct the node container(s)
-    var nodeRow = Ext.get(Ext.DomHelper.append(tbodyObj, "<tr/>")).addClass("node-cells");
-    var nodeCell = Ext.get(Ext.DomHelper.append(nodeRow, "<td colspan='2' />")).addClass("node-cell");
-	
-    var childNodes = node.getChildNodes();
-    var nodeDiv;
-    var showStr="";
-    if (childNodes.length > 1) {
-        nodeCell.dom.setAttribute('colspan', childNodes.length * 2);
-    }
-    // Draw the node
-    if(node.getType()=='node'&&level == 0){
-    	var nodeContent='<div class="notdatasettop">'+node.getText()+'</div>';
-    }else if(node.getType()=='node'&&level >= 1){
-	if(node.getImage()&&node.getText().indexOf("Download")!=-1){
-		var nodeContent='<img class="level1img" src="'+node.getImage()+'"/>';
-        	nodeContent+='<div class="notdataset">'+node.getText()+'</div>';	
-	}else{
-		var nodeContent = '<div class="notdataset">'+node.getText()+'</div>';
-	}
-    }else{
-    	//alert(node.getID());
-    	var nodeContent=
-    	/*	'<li id="'+node.getID()+'">'+
-            '<strong>'+node.getText()+'</strong>'+
-            '<span>'+node.getNb()+'</span><br/>'+     
-            '<div class="dataset_services">'+
-            "<a href='#' onClick='sitools.user.clickDatasetIcone(\"" + node.getUrl()
-                + "\", \"data\"); return false;'><img src='" + loadUrl.get('APP_URL')
-                + "/common/res/images/icons/32x32/tree_datasets_32.png'></a>"+
-               
-            '</div>'+
-            '<div class="dataset_description">'+node.getDes()+'</div>'+
-        '</li>';*/
-    	"<div class='leaf'>"
-    	+"<div class='pictitle'>"	
-    	+"<img class='datasetimg' onClick='sitools.user.clickDatasetIcone(\"" + node.getUrl()
-    	        + "\", \"data\"); return false;' width='80' height='80' src='"+node.getImage()+"' />"
-        +'<div class="datasettitle">'+node.getText().split(' -')[2]+'</div>'
-        +"</div>"
-        +"<br/><a href='#' onClick='sitools.user.clickDatasetIcone(\"" + node.getUrl()
-        + "\", \"data\"); return false;'><img src='" + loadUrl.get('APP_URL')
-        + "/common/res/images/icons/32x32/tree_datasets_32.png'></a>"
-        +'<br/><span class="nbrecords">('+node.getNb()+' records)</span><br/>'
-        /*+"<a href='#' onClick='return SitoolsDesk.navProfile.manageDatasetViewAlbumIconForm(\"" + node.getUrl() + "\");'>query form</a>"*/
-        +"<br/><a  href='#' class='align-right' ext:qtip='Description' onClick='sitools.user.clickDatasetIcone(\"" + node.getUrl()
-        + "\", \"desc\"); return false;'>Description</a>"
-        +"</div>";
-    }
-    if(childNodes.length>0){
-    //	nodeContent += "<div class='img_detail' onClick='sitools.user.modules.ExtJSOrgChart.ss(childNodes,\"\",0,opts,tbodyObj)'></div>";
-    }
-    
-    nodeDiv = Ext.get(Ext.DomHelper.append(nodeCell,"<div>")).addClass("node");
-	
-    nodeDiv.dom.innerHTML=nodeContent;
-    if (childNodes.length > 0) {
-        // recurse until leaves found (-1) or to the level specified
-        if (opts.depth == -1 || (level + 1 < opts.depth)) {
-            var downLineRow = Ext.DomHelper.append(tbodyObj,"<tr class='"+showStr+"' />");
-            var downLineCell = Ext.DomHelper.append(downLineRow,"<td/>");
-			downLineCell.setAttribute('colspan',childNodes.length * 2);
-            // draw the connecting line from the parent node to the horizontal line 
-            downLine = Ext.get(Ext.DomHelper.append(downLineCell,"<div></div>")).addClass("line down");
-	
-			// Draw the horizontal lines
-            var linesRow = Ext.DomHelper.append(tbodyObj,"<tr class='"+showStr+"' />");
-            Ext.each(childNodes,function (item,index) {
-                var left = Ext.get(Ext.DomHelper.append(linesRow,"<td>&nbsp;</td>")).addClass("line left top");
-                var right = Ext.get(Ext.DomHelper.append(linesRow,"<td>&nbsp;</td>")).addClass("line right top");
-            });
-
-            // horizontal line shouldn't extend beyond the first and last child branches
-            Ext.select("td:first",false,linesRow).removeClass("top");
-            Ext.select("td:last",false,linesRow).removeClass("top");
-                
-
-            var childNodesRow = Ext.DomHelper.append(tbodyObj,"<tr class='"+showStr+"' />");
-            Ext.each(childNodes,function (item,index) {
-                var td = Ext.DomHelper.append(childNodesRow,"<td class='node-container'/>");
-				td.setAttribute('colspan',2);
-                // recurse through children lists and items
-				sitools.user.modules.ExtJSOrgChart.buildNode(item, td, level + 1, opts);
-            });
-
-        }
-    }
-
-
-    /* Prevent trees collapsing if a link inside a node is clicked */
-    Ext.each(Ext.select('a',true,nodeDiv.dom),function(item,index){
-		item.onClick= function(e){
-			console.log(e);
-			e.stopPropagation();
-		}
-	});
-}
-sitools.user.modules.ExtJSOrgChart.ss= function(childNodes,showStr,level,opts,tbodyObj){
-    if (childNodes.length > 0) {
-        // recurse until leaves found (-1) or to the level specified
-        if (opts.depth == -1 || (level + 1 < opts.depth)) {
-            var downLineRow = Ext.DomHelper.append(tbodyObj,"<tr class='"+showStr+"' />");
-            var downLineCell = Ext.DomHelper.append(downLineRow,"<td/>");
-                        downLineCell.setAttribute('colspan',childNodes.length * 2);
-            // draw the connecting line from the parent node to the horizontal line
-            downLine = Ext.get(Ext.DomHelper.append(downLineCell,"<div></div>")).addClass("line down");
-
-                        // Draw the horizontal lines
-            var linesRow = Ext.DomHelper.append(tbodyObj,"<tr class='"+showStr+"' />");
-            Ext.each(childNodes,function (item,index) {
-                var left = Ext.get(Ext.DomHelper.append(linesRow,"<td>&nbsp;</td>")).addClass("line left top");
-                var right = Ext.get(Ext.DomHelper.append(linesRow,"<td>&nbsp;</td>")).addClass("line right top");
-            });
-
-            // horizontal line shouldn't extend beyond the first and last child branches
-            Ext.select("td:first",false,linesRow).removeClass("top");
-            Ext.select("td:last",false,linesRow).removeClass("top");
-
-
-            var childNodesRow = Ext.DomHelper.append(tbodyObj,"<tr class='"+showStr+"' />");
-            Ext.each(childNodes,function (item,index) {
-                var td = Ext.DomHelper.append(childNodesRow,"<td class='node-container'/>");
-                                td.setAttribute('colspan',2);
-                // recurse through children lists and items
-                                sitools.user.modules.ExtJSOrgChart.buildNode(item, td, level + 1, opts);
-            });
-
-        }
-    }
-
-}
-sitools.user.modules.ExtJSOrgChart.prepareTree= function(options){
-	var appendTo = Ext.get(options.chartElement);
-	var container = Ext.get(Ext.DomHelper.append(appendTo,'<div align="center" class="ExtJSOrgChart"></div>'));
-	sitools.user.modules.ExtJSOrgChart.buildNode(options.rootObject,container,0,options);
-}
-Ext.QuickTips.init();
diff --git a/Module_DatasetExplorerOchart_sitools2/bootstrap.min.css b/Module_DatasetExplorerOchart_sitools2/bootstrap.min.css
deleted file mode 100644
index 677000e..0000000
--- a/Module_DatasetExplorerOchart_sitools2/bootstrap.min.css
+++ /dev/null
@@ -1,7 +0,0 @@
-
-table,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;font-weight:normal;font-style:normal;font-size:100%;font-family:inherit;}
-
-
-code,pre{padding:0 3px 2px;font-size:12px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
-
-pre{background-color:#f5f5f5;display:block;padding:8.5px;margin:0 0 18px;line-height:18px;font-size:12px;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-wrap:break-word;}
diff --git a/Module_DatasetExplorerOchart_sitools2/close-white.png b/Module_DatasetExplorerOchart_sitools2/close-white.png
deleted file mode 100644
index 13b0354..0000000
Binary files a/Module_DatasetExplorerOchart_sitools2/close-white.png and /dev/null differ
diff --git a/Module_DatasetExplorerOchart_sitools2/custom.css b/Module_DatasetExplorerOchart_sitools2/custom.css
deleted file mode 100644
index bf58d86..0000000
--- a/Module_DatasetExplorerOchart_sitools2/custom.css
+++ /dev/null
@@ -1,86 +0,0 @@
-
-
-
-
-
-	
-
-
-
-
-
-/* list stuff */
-#org{
-	background-color 	: white;
-	margin 				: 10px;
-	padding 			: 10px;
-}
-
-#show-list{
-	cursor 				: pointer;
-}
-
-/* bootstrap overrides */
-.alert-message{
-	margin: 2px 0;
-}
-
-.topbar{
-	position 			: absolute;
-}
-
-/* Custom chart styling */
-.ExtJSOrgChart {
-  margin                : 10px;
-  padding               : 20px;
-}
-
-/* Custom node styling */
-.ExtJSOrgChart .node {
-	font-size 			: 11x;
-	text-align			: center;
-	#vertical-align		: middle;
-	#line-height			: 50px;
-	background-color 	: #35363B;
-	border-radius 		: 8px;
-	!border 				: 1px solid gray;
-	#color 				: #FFFF00;
-	
-	
-	-moz-border-radius 	: 8px;
-}
-	.node p{
-		font-family 	: tahoma;
-		font-size 		: 10px;
-		line-height 	: 11px;
-		padding 		: 2px;
-	}
-.datasetimg{
-	cursor 				: pointer;
-	
-}
-.level1img{
-	height:60px;
-	border-radius : 50%;
-}
-.ExtJSOrgChart .leaf:hover{
-	background-color: #FFE0AE;
-	transition: background-color 800ms ease 0s;
-}
-.hide {
-    display: none;
-}
-.img_detail{
-    background: url("zoom.png") repeat scroll 0 0 / 28px 28px rgba(0, 0, 0, 0);
-    height: 28px;
-    width: 28px;
-    cursor: pointer;
-}
-.nbrecords{
-    font-size: 10px;
-    color: #444;
-    font-weight: normal;
-}
-.datasettitle{
-    margin-top: 5px;
-}	
diff --git a/Module_DatasetExplorerOchart_sitools2/dataSetExplorerDataViewOchart.js b/Module_DatasetExplorerOchart_sitools2/dataSetExplorerDataViewOchart.js
deleted file mode 100644
index e6de095..0000000
--- a/Module_DatasetExplorerOchart_sitools2/dataSetExplorerDataViewOchart.js
+++ /dev/null
@@ -1,112 +0,0 @@
-/***************************************
-* Copyright 2010-2013 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
-* 
-* This file is part of SITools2.
-* 
-* SITools2 is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-* 
-* SITools2 is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-* GNU General Public License for more details.
-* 
-* You should have received a copy of the GNU General Public License
-* along with SITools2.  If not, see <http://www.gnu.org/licenses/>.
-***************************************/
-/*global Ext, sitools, projectGlobal, commonTreeUtils, showResponse, document, i18n, loadUrl, SITOOLS_DEFAULT_PROJECT_IMAGE_URL, SitoolsDesk*/
-/*
- * @include "../../env.js" 
- */
-Ext.namespace('sitools.user.modules');
-
-/**
- * Dataset Explorer Module.
- * Displays each dataset of the Project.
- * @class sitools.user.modules.datasetExplorerDataView
- * @extends Ext.tree.TreePanel
- */
-sitools.user.modules.dataSetExplorerDataviewOchart = Ext.extend(Ext.Panel, {
-    layout : "border",
-        
-    initComponent : function () {
-	    /**
-	     * INDEX JPB var projectId = Ext.util.Cookies.get('projectId'); if
-	     * (Ext.isEmpty(projectId)){ Ext.Msg.alert(i18n.get ('warning.noProject'));
-	     * return; }
-	     */
-
-         //me.chartConfig = me.chartConfig || {};
-    	 //console.log(me.store);
-    	var myDataView = new Ext.DataView({
-    		id : "chart",
-            region : 'center',
-            singleSelect : true,
-            autoScroll : true,
-	    });
-    	this.items = [myDataView];
-    	var projectAttachment = projectGlobal.sitoolsAttachementForUsers;
-    	//alert(projectAttachment);
-    	Ext.Ajax.request( {
-    		url : projectAttachment + '/graph?media=json',
-			//url: 'http://localhost:8182/sitools/client-user/js/modules/dataSetExplorerDataView/ochart/response_sitemap.json',
-    		method : "GET",
-    		//root : 'graph.nodeList',
-		success : function(response, opts) {
-			function getChild(n,node) {
-   				//nodeList.push(node);
-                                //rootNodeList.push(node);
-				if(!n.leaf){
-					for(var i=0;i<n.children.length;i++){
-						var child=new sitools.user.modules.ExtJSOrgChart.createNode(n.children[i]);
-						node.addChild(child);
-						getChild(n.children[i],child);
-					}	
-				}
-			}
-			var rootNodeList=new Array();
-			//var nodeList = new Array();
-			var data= Ext.decode(response.responseText);
-			for(var n=0;n<data.graph.nodeList.length;n++){
-				var rootNode = new sitools.user.modules.ExtJSOrgChart.createNode(data.graph.nodeList[n]);
-                                //nodeList.push(rootNode);
-                                rootNodeList.push(rootNode);
-				getChild(data.graph.nodeList[n],rootNode);
-			}
-			for(var i=0;i<rootNodeList.length;i++){
-				sitools.user.modules.ExtJSOrgChart.prepareTree({
-					chartElement: 'chart',
-					rootObject: rootNodeList[i],
-					depth: -1
-					});
-			}
-		} , 
-		failure : function(response, opts) {          
-				alert("Error while loading data : "+response.responseText);                  
-		}
-	});	
-        
-        sitools.user.modules.dataSetExplorerDataviewOchart.superclass.initComponent.call(this);
-        
-    },
-    afterRender : function () {
-    	sitools.user.modules.dataSetExplorerDataviewOchart.superclass.afterRender.apply(this, arguments);
-       	console.log(this);
-    },
-    /**
-     * method called when trying to save preference
-     * @returns
-     */
-    _getSettings : function () {
-		return {
-            preferencesPath : "/modules", 
-            preferencesFileName : this.id
-        };
-
-    }
-    
-});
-
-Ext.reg('sitools.user.modules.dataSetExplorerDataviewOchart', sitools.user.modules.dataSetExplorerDataviewOchart);
diff --git a/Module_DatasetExplorerOchart_sitools2/zoom.png b/Module_DatasetExplorerOchart_sitools2/zoom.png
deleted file mode 100644
index 05f379e..0000000
Binary files a/Module_DatasetExplorerOchart_sitools2/zoom.png and /dev/null differ
diff --git a/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchart.js b/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchart.js
deleted file mode 100644
index 14d8538..0000000
--- a/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchart.js
+++ /dev/null
@@ -1,32 +0,0 @@
-Ext.namespace('sitools.user.modules');
-
-Ext.define( 'sitools.user.modules.DatasetExplorerOchart', {
-    extend: 'sitools.user.core.Module',
-
-
-    requires: ['sitools.user.controller.modules.datasetExplorerOchart.DatasetExplorerOchartController'],
-    controllers: ['sitools.user.controller.modules.datasetExplorerOchart.DatasetExplorerOchartController'],
-    init : function (moduleModel) {
-        
-	var view = Ext.create('sitools.user.view.modules.datasetExplorerOchart.DatasetExplorerOchartView');
-	this.setViewCmp(view);
-
-        this.show(this.getViewCmp());
-
-        this.callParent(arguments);
-    },
-
-    /**
-     * method called when trying to save preference
-     * 
-     * @returns
-     */
-    _getSettings : function () {
-        return {
-            preferencesPath : "/modules",
-            preferencesFileName : this.id
-        };
-
-    }
-
-} );
diff --git a/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartController.js b/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartController.js
deleted file mode 100644
index c4a24e2..0000000
--- a/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartController.js
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright 2010-2014 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
- * 
- * This file is part of SITools2.
- * 
- * SITools2 is free software: you can redistribute it and/or modify it under the
- * terms of the GNU General Public License as published by the Free Software
- * Foundation, either version 3 of the License, or (at your option) any later
- * version.
- * 
- * SITools2 is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
- * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License along with
- * SITools2. If not, see <http://www.gnu.org/licenses/>.
- ******************************************************************************/
-
-/*global Ext, sitools, i18n, projectGlobal, alertFailure, showResponse*/
-
-/**
- * DatasetExplorerOchart Module Controller
- * @class sitools.user.controller.modules.datasetExplorerOchart.DatasetExplorerOchartController
- * @extends Ext.app.Controller
- */
-Ext.define('sitools.user.controller.modules.datasetExplorerOchart.DatasetExplorerOchartController', {
-    extend : 'Ext.app.Controller',
-    
-    views : ['modules.datasetExplorerOchart.DatasetExplorerOchartView'],
-
-    init : function () {
-        this.control({
-            "DatasetExplorerOchart" : {
-                render : function (ochart) {
-		    var project = Ext.getStore('ProjectStore').getProject();
-                    var projectAttachment = project.get("sitoolsAttachementForUsers");
-                    
-                    Ext.Ajax.request({
-                        method : 'GET',
-                        url : projectAttachment + "/graph",
-                        scope : this,
-                        success : function (ret) {
-                            var Json = Ext.decode(ret.responseText);
-                            if (!Json.success) {
-                                Ext.Msg.alert(i18n.get('label.warning'), Json.message);
-                                return;
-                            }
-                            if (Json.graph && Json.graph.nodeList) {
-                                ochart.store.getRootNode().appendChild(Json.graph.nodeList);
-				ochart.store.getRootNode().collapseChildren();
-				//ochart.store.setRootNode(Json.graph.nodeList);
-				console.log(ochart.store.getRootNode());
-				var root=ochart.store.getRootNode();
-				for(var i=0; i<root.childNodes.length; i++){
-				    this.collapseRecursive(root.childNodes[i]);
-				}
-                            }
-                        }
-                    });
-                    
-                    
-                }
-            } 
-        });
-        
-        this.listen({
-            store : {
-                "#datasetExplorerOchartTreeStore" : {
-                    append : function (store, record) {
-                        //record.set("id", Ext.id());
-                        if (record.get("type") === "dataset") {
-                            var icon = record.get("authorized") === "true" ? loadUrl.get('APP_URL') + "/common/res/images/icons/tree_datasets.png" : loadUrl.get('APP_URL') + "/common/res/images/icons/cadenas.png";
-                            record.set('icon', icon);
-                            //record.set("leaf", true);
-
-                        }
-                        if (record.get("type") === "node") {
-                            if(!Ext.isEmpty(record.get("image"))) {
-                                record.set("icon", record.get("image").url);
-                            }
-                            //record.set('iconCls', "graphNodeType");
-                            //record.set("readme", record.get("description"));
-			    //record.set("expanded", false);
-                            //record.set("leaf", false);
-			    //console.log(record);
-                            //record.collapseChildren();
-                        }
-                    }
-
-                }
-            }
-        });
-    },
-    collapseRecursive: function(node){
-	if(node.childNodes != []) {
-	    for(var i=0; i<node.childNodes.length; i++){
-                this.collapseRecursive(node.childNodes[i]);
-	        node.childNodes[i].collapse();
-            }
-	    
-	}
-    }
-    
-});
diff --git a/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartTreeModel.js b/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartTreeModel.js
deleted file mode 100644
index f230156..0000000
--- a/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartTreeModel.js
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright 2010-2014 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
- * 
- * This file is part of SITools2.
- * 
- * SITools2 is free software: you can redistribute it and/or modify it under the
- * terms of the GNU General Public License as published by the Free Software
- * Foundation, either version 3 of the License, or (at your option) any later
- * version.
- * 
- * SITools2 is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
- * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License along with
- * SITools2. If not, see <http://www.gnu.org/licenses/>.
- ******************************************************************************/
-/*global Ext, sitools, window */
-
-Ext.define('sitools.user.model.DatasetExplorerOchartTreeModel', {
-    extend : 'Ext.data.Model',
-
-    fields : [ {
-        name : 'text'
-    }, {
-        name : 'type'
-    }, {
-        name : 'leaf',
-        type : 'boolean'
-    }, {
-        name : 'description'
-    }, {
-        name : 'datasetId'
-    }, {
-        name : 'nbRecord'
-    }, {
-        name : 'imageDs'
-    }, {
-        name : 'readme'
-    }, {
-        name : 'authorized'
-    }, {
-        name : 'status'
-    }, {
-        name : 'visible',
-        type : 'boolean'
-    }, {
-        name : 'url'
-    }, {
-        name : 'image'
-    }]
-});
diff --git a/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartTreeStore.js b/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartTreeStore.js
deleted file mode 100644
index 2b74da2..0000000
--- a/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartTreeStore.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright 2010-2014 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
- * 
- * This file is part of SITools2.
- * 
- * SITools2 is free software: you can redistribute it and/or modify it under the
- * terms of the GNU General Public License as published by the Free Software
- * Foundation, either version 3 of the License, or (at your option) any later
- * version.
- * 
- * SITools2 is distributed in the hope that it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
- * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License along with
- * SITools2. If not, see <http://www.gnu.org/licenses/>.
- ******************************************************************************/
-/*global Ext, sitools, window */
-
-Ext.define('sitools.user.store.DatasetExplorerOchartTreeStore', {
-    extend : 'Ext.data.TreeStore',
-    model : 'sitools.user.model.DatasetExplorerOchartTreeModel',
-    storeId : 'datasetExplorerOchartTreeStore',
-    root: {
-                "text": "Solar Projects",
-                "leaf": false,
-		"type": "rootnode",
-                expanded: true
-            },
-    proxy : {
-        type : 'memory',
-        reader : {
-            type : 'json'
-        }
-    }
-});
diff --git a/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartView.js b/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartView.js
deleted file mode 100644
index c82e644..0000000
--- a/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartView.js
+++ /dev/null
@@ -1,61 +0,0 @@
-Ext.namespace('sitools.user.view.modules.datasetExplorerOchart');
-
-Ext.define( 'sitools.user.view.modules.datasetExplorerOchart.DatasetExplorerOchartView', {
-    extend: 'sitools.user.view.modules.datasetExplorerOchart.DatasetExplorerOchartViewSimple',
-    requires: 'sitools.user.view.modules.datasetExplorerOchart.TaskModel',
-    alias: 'widget.DatasetExplorerOchart',
-
-    initComponent: function(){
-        var me = this;
-	me.store = Ext.create("sitools.user.store.DatasetExplorerOchartTreeStore");
-        /*me.store = Ext.create('Ext.data.TreeStore',{
-            model: 'sitools.user.view.modules.datasetExplorerOchart.TaskModel',
-            root: {
-                "text": "Solar Projects",
-                "leaf": false,
-                expanded: true
-            },
-	    autoLoad: true
-        });*/
-	//me.store = Ext.create("sitools.user.view.modules.datasetExplorerOchart.NodesStore");
-        me.chartConfig = me.chartConfig || {};
-        Ext.applyIf(me.chartConfig, {
-            itemTpl: [
-                '<div class="item-body" style="text-align: center">',
-		    '<tpl if="type == \'dataset\'">',
-                        '<img src="{imageDs}" class="item-img">',
-		      '<div class="item-title-ds item-title">{text}</div>', 
-		      '<a href="#" class="overDatasetService" onClick="sitools.user.utils.DatasetUtils.clickDatasetIcone(\'{url}\', \'data\');return false;">',
-		      Ext.String.format('<img class="datasetochart_icon" src="{0}" data-qtip="{1}">',loadUrl.get('APP_URL') + "/common/res/images/icons/32x32/tree_datasets_32.png", i18n.get('label.dataTitle')),
-		      '</a>',
-		      '<a href="#" class="overDatasetService" onClick="sitools.user.utils.DatasetUtils.clickDatasetIcone(\'{url}\', \'forms\');return false;">',
-		      Ext.String.format('<img class="datasetochart_icon" src="{0}" data-qtip="{1}">',loadUrl.get('APP_URL') + "/common/res/images/icons/32x32/openSearch_32.png", "Query form"),
-		      '</a>',
-		      '<div class="item-nb">({nbRecord} records)</div>',
-		    '</tpl>',
-		    '<tpl if="type == \'node\'">',
- 		        '<tpl if="icon">',
-                          '<img src="{icon}" style="height: 25px">',
-                        '</tpl>',
-			'<div class="item-title-node item-title">{text}</div>',
-		    '</tpl>',
-		    '<tpl if="type == \'rootnode\'">',
-                        '<div class="item-title-rootnode item-title">{text}</div>',
-                    '</tpl>',
-                '</div>'
-		
-            ],
-
-            itemCls: 'task-item'
-        });
-
-        me.callParent( arguments );
-    },
-    afterRender: function(){
-	var elems = document.querySelectorAll('.task-item');
-        console.log(elems);
-        //me.onInlineExpanderClick(null, elems);	
-    },
-    onItemDblClick: Ext.emptyFn
-} );
-
diff --git a/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartViewSimple.js b/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartViewSimple.js
deleted file mode 100644
index 5854596..0000000
--- a/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartViewSimple.js
+++ /dev/null
@@ -1,230 +0,0 @@
-/***************************************
- * Copyright 2010-2014 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
- *
- * This file is part of SITools2.
- *
- * SITools2 is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * SITools2 is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with SITools2.  If not, see <http://www.gnu.org/licenses/>.
- ***************************************/
-/*global Ext, sitools, projectGlobal, commonTreeUtils, showResponse, document, i18n, loadUrl, SITOOLS_DEFAULT_PROJECT_IMAGE_URL, SitoolsDesk*/
-/*
- * @include "../../env.js" 
-*/
-
-
-Ext.namespace('sitools.user.view.modules.datasetExplorerOchart');
-Ext.define( 'sitools.user.view.modules.datasetExplorerOchart.DatasetExplorerOchartViewSimple', {
-    extend: 'Ext.panel.Panel',
-    alias: 'widget.datasetExplorerOchartViewSimple',
-
-    layout:{ type: 'fit' },
-    border : false,
-    requires: [
-        'sitools.user.modules.OChartDragDrop',
-        'sitools.user.view.modules.datasetExplorerOchart.OChart'
-    ],
-    autoDestroyStore: true,
-
-    initComponent: function(){
-	var me = this;
-        if(!me.store){
-	    Ext.apply(me, {
-                store : me.buildStore()
-            });
-        }
-
-	me.chartConfig = me.chartConfig || {};
-        
-	Ext.applyIf(me.chartConfig,{
-            xtype: 'ochart',
-            autoScroll : true,
-            simpleSelect: true,
-            rootVisible: false,
-            store: me.store,
-            plugins    : [
-                {
-                    ptype          : 'ochartdragdrop',
-                    allowParentInserts: true,
-                    containerScroll: true,
-                    ddGroup: 'ochart-dd'
-                }
-            ],
-
-            listeners: {
-                scope: me,
-                additem: me.onAddItem,
-                removeitem: me.onRemoveItem,
-                itemdblclick: me.onItemDblClick
-            }
-        });
-
-        Ext.apply(me, {
-            items: me.chartConfig
-        });
-        me.callParent(arguments);
-    },
-    
-    buildStore: function() {
-	var store = Ext.create('sitools.user.view.modules.datasetExplorerOchart.NodesStore');
-	return store;
-    },
-
-    onRender: function(){
-       //console.log(this);
-	 var chart = this.down('ochart' );
-//       var view = this.up('viewport');
-	console.log(chart);
-        chart.lineWeight =2; //view.lineWeight;
-        chart.lineColor = '#888888';//'#' + view.lineColor;
-        chart.levelSpacing =20;//view.levelSpacing;
-        chart.nodeSpacing = 10;//view.nodeSpacing;
-        chart.readOnly = true;//view.readOnly;
-        chart.rootVisible = true;//view.rootVisible;
-        chart.allowContainerDrop = false;//view.allowContainerDrop;
-        chart.toolsVisible = true;//view.toolsVisible;
-		
-        this.callParent(arguments);
-    },
-
-    afterRender: function(){
-        var me = this;
-        var view = me.up('#mainView');
-        //me.mon(view,'changelineweight', me.onChangeLineWeight, me);
-        //me.mon(view,'changelinecolor', me.onChangeLineColor, me);
-        //me.mon(view,'changelevelspace', me.onChangeLevelSpace, me);
-        //me.mon(view,'changeitemspace', me.onChangeItemSpace, me);
-        //me.mon(view,'changereadonly', me.onChangeReadOnly, me);
-        //me.mon(view,'changerootvisible', me.onChangeRootVisible, me);
-        //me.mon(view,'changecontainerdrop', me.onChangeContainerDrop, me);
-        //me.mon(view,'changetools', me.onChangeTools, me);
-        me.view = view;
-        me.callParent(arguments);
-    },
-
-    onDestroy: function(){
-        var me = this,
-            view = me.view;
-        me.mun(view,'changelineweight', me.onChangeLineWeight, me);
-        me.mun(view,'changelinecolor', me.onChangeLineColor, me);
-        me.mun(view,'changelevelspace', me.onChangeLevelSpace, me);
-        me.mun(view,'changeitemspace', me.onChangeItemSpace, me);
-        me.mun(view,'changereadonly', me.onChangeReadOnly, me);
-        me.mun(view,'changerootvisible', me.onChangeRootVisible, me);
-        me.mun(view,'changecontainerdrop', me.onChangeContainerDrop, me);
-        me.mun(view,'changetools', me.onChangeTools, me);
-        me.view = null;
-        if(me.autoDestroyStore){
-            me.store.destroyStore();
-        }
-        me.store = null;
-        me.callParent(arguments);
-    },
-
-    onItemDblClick: function(view, record, item, index, e){
-        if(view.readOnly) return;
-
-        Ext.Msg.prompt('Edit Node', 'Type the node name',function(btn, text){
-            if(btn == 'ok'){
-                record.set('text',text);
-            }
-        }, window, false, record.get('text'));
-    },
-
-    onAddItem: function (view, record, where, nodeEl){
-        Ext.Msg.prompt('New Node', 'Type the node name',function(btn, text){
-            if(btn == 'ok'){
-                var newrec = {text: text, leaf: true};
-                switch(where){
-                    case 'before':
-                        var parent = record.parentNode;
-                        newrec = parent.insertBefore(newrec, record);
-                        break;
-                    case 'after':
-                        var node = record.nextSibling;
-                        var parent = record.parentNode;
-                        newrec = parent.insertBefore(newrec, node);
-                        break;
-                    case 'child':
-                        newrec = record.appendChild(newrec);
-                        record.expand(function(){view.focusNode(newrec);});
-                        break;
-                }
-            }
-        });
-    },
-
-    onRemoveItem: function(view, record, nodeEl){
-        Ext.Msg.confirm('Remove Item', 'Do you really want\'s remove this items?',function(btn, text){
-            if(btn == 'yes'){
-                record.remove();
-            }
-        });
-    },
-
-    onChangeLineWeight: function(panel, weight){
-        var chart = this.down('ochart');
-        chart.lineWeight = weight;
-        chart.refresh();
-    },
-
-    onChangeLineColor: function(panel, color){
-        var chart = this.down('ochart' );
-        chart.lineColor =  '#' + color;
-        chart.refresh();
-    },
-
-    onChangeLevelSpace: function(panel, space){
-        var chart = this.down('ochart');
-        chart.levelSpacing = space;
-        chart.refresh();
-    },
-
-    onChangeItemSpace: function(panel, space){
-        var chart = this.down('ochart');
-        chart.nodeSpacing = space;
-        chart.refresh();
-    },
-
-    onChangeReadOnly: function(panel, value){
-        var chart = this.down('ochart');
-        chart.readOnly = value;
-    },
-
-    onChangeRootVisible: function(panel, value){
-        var chart = this.down('ochart');
-        chart.rootVisible = value;
-        chart.refresh();
-    },
-
-    onChangeContainerDrop: function(panel, value){
-        var chart = this.down('ochart');
-        chart.allowContainerDrop = value;
-    },
-
-    onChangeTools: function(panel, value){
-        var chart = this.down('ochart');
-        chart.toolsVisible = value;
-    },
-
-    /**
-     * method called when trying to save preference
-     * @returns
-     */
-    _getSettings: function () {
-        return {
-            preferencesPath: "/modules",
-            preferencesFileName: this.id
-        };
-    }
-
-} );
diff --git a/Module_DatasetExplorerOchart_sitools2v3/OChart.js b/Module_DatasetExplorerOchart_sitools2v3/OChart.js
deleted file mode 100644
index 2561707..0000000
--- a/Module_DatasetExplorerOchart_sitools2v3/OChart.js
+++ /dev/null
@@ -1,2668 +0,0 @@
-
-Ext.namespace('sitools.user.view.modules.datasetExplorerOchart');
-Ext.define('sitools.user.view.modules.datasetExplorerOchart.OChart',{
-    extend: 'Ext.Component',
-    alias: 'widget.ochart',
-    itemId: 'ochart',
-    requires:[
-        'Ext.LoadMask',
-        'Ext.data.StoreManager',
-        'Ext.dom.Query',
-        'sitools.user.view.modules.datasetExplorerOchart.OChartModel',
-        'Ext.dd.ScrollManager'
-    ],
-
-    mixins:{
-        bindable: 'Ext.util.Bindable'
-    },
-
-    baseCls: Ext.baseCSSPrefix + 'ochart',
-
-    /**
-     * In some places it's need to render full tables because <IE9 have some bugs and makes tr and table readonly
-     * @private
-     */
-    renderBuffer: document.createElement('div'),
-
-    /**
-     * @cfg {Boolean} rootVisible=true true to include the root node in the chart.
-     */
-    rootVisible: true,
-
-    /**
-     * @cfg {Boolean} toolsVisible=true true to show the item floating tools.
-     */
-    toolsVisible: true,
-
-    /**
-     * @cfg {Ext.data.NodeInterface} root=null The chart´s root node or null for the store root node.
-     */
-    root: null,
-
-    /**
-     * @cfg {Boolean} autoLoadStore=tru
-     * If this config is true and the store isn't loaded or already loading, the component will trigger a load command to the store
-     * during component initialization.
-     */
-    autoLoadStore: true,
-
-    /**
-     * @cfg {String} displayField="text" The field used to render the node contents.
-     */
-    displayField: 'text',
-
-    /**
-     * @cfg {Boolean/Object} loadMask
-     * False to disable a load mask from displaying while the view is loading. This can also be a
-     * {@link Ext.LoadMask} configuration object.
-     */
-    loadMask: true,
-
-    /**
-     * @cfg {String} loadingText
-     * A string to display during data load operations.  If specified, this text will be
-     * displayed in a loading div and the view's contents will be cleared while loading, otherwise the view's
-     * contents will continue to display normally until the new data is loaded and the contents are replaced.
-     */
-    loadingText: 'Loading...',
-
-    /**
-     * @cfg {Boolean} loadingUseMsg
-     * Whether or not to use the loading message.
-     * @private
-     */
-    loadingUseMsg: true,
-
-    /**
-     * @cfg {Boolean} allowContainerDrop=true
-     * False to disable dropping itens on the container, true to allow dropping itens on the container.
-     * When itens are dropped on the container they will be appended to the root node.
-     */
-    allowContainerDrop: true,
-
-    /**
-     * @cfg {String} loadingCls
-     * The CSS class to apply to the loading message element. Defaults to Ext.LoadMask.prototype.msgCls "x-mask-loading".
-     */
-
-    /**
-     * @cfg {Number} lineWeight=1 Weight of node connector lines.
-     */
-    lineWeight: 1,
-
-    /**
-     * @property {String} lineColor="#000" HTML color to use for the node connector lines.
-     */
-    lineColor: '#000',
-
-    /**
-     * @cfg {Number} levelSpacing=15 Space in pixels between the parent and children nodes.
-     */
-    levelSpacing: 15,
-
-    /**
-     * @cfg {Number} nodeSpacing=10 Margin in pixels between adjacent nodes.
-     */
-    nodeSpacing: 10,
-
-    /**
-     * @cfg {String} itemCls=null Additional class for the node content element.
-     */
-    itemCls: null,
-
-    /** inheritdoc */
-    renderTpl: ['<table class="{baseCls}-wrap" cellpadding="0" cellspacing="0" border="0"><tbody><tr class="{baseCls}-container"></tr></tbody></table>'],
-
-    /**
-     * @cfg {Ext.XTemplate/String/String[]}} downLineTpl Node down line connector template
-     * @private
-     */
-    downLineTpl: [
-        '<tr class="{view.baseCls}-lines {view.downLineCls}">',
-            '<td colspan="{node.childNodes.length}">',
-                '<div class="{view.baseCls}-left" style="border-top-width: {view.lineWeight}px; height: {view.levelSpacing}px; border-color:{view.lineColor} !important;"></div>',
-                '<div class="{view.baseCls}-right" style="border-top-width: {view.lineWeight}px; border-left-width: {view.lineWeight}px; height: {view.levelSpacing}px; border-color:{view.lineColor} !important;"></div>',
-            '</td>',
-        '</tr>',
-        '<tr class="{view.expanderRowCls}">',
-            '<td colspan="{node.childNodes.length}">',
-                '<span class="{view.expanderCmpCls}{[values.view.expanderCls ? " "+values.view.expanderCls : ""]}" data-qtip="{view.expandTip:htmlEncode}"></span>',
-            '</td>',
-        '</tr>'
-    ],
-
-    /**
-     * @cfg {Ext.XTemplate/String/String[]}} childrenLineTpl Simple child inner line connector template
-     * @private
-     */
-    childrenLineTpl: [
-        '<div class="{view.baseCls}-left" style="border-top-width:{view.lineWeight}px; height: {view.levelSpacing}px; border-color:{view.lineColor} !important;"></div>',
-        '<div class="{view.baseCls}-right" style="border-top-width:{view.lineWeight}px; border-left-width:{view.lineWeight}px; height: {view.levelSpacing}px; border-color:{view.lineColor} !important;"></div>'
-    ],
-
-    /**
-     * @cfg {Ext.XTemplate/String/String[]}} childrenLinesTpl Multiple child line connector template
-     * @private
-     */
-    childrenLinesTpl: [
-        '<tpl if="node.childNodes.length &gt; 1">',
-            //multiple lines
-            '<tr class="{view.baseCls}-lines {view.childrenLinesCls}">',
-                '{[this.childLines(values.view, values.node.childNodes)]}',
-            '</tr>',
-        '</tpl>',
-        {
-            childLines: function(view, nodes){
-                var out = [],
-                    len = nodes.length,
-                    last = len- 1,
-                    cls = view.baseCls,
-                    clsLeft = cls + '-left',
-                    clsRight = cls + '-right',
-                    lineWeight = view.lineWeight,
-                    lineColor = view.lineColor,
-                    height = view.levelSpacing,
-                    div= '<div class="{0}" style="border-color: {1}; border-top-width: {2}px; border-left-width: {3}px; border-right-width: {4}px; height: {5}px;"></div>',
-                    format = Ext.String.format,
-                    i, td;
-
-                for(i = 0; i<len; ++i){
-                    td = '<td';
-                    //it's a first or last line?
-                    if(i == 0) td += ' class="' + cls + '-first"';
-                    else if(i == last) td += ' class="' + cls + '-last"';
-                    td += '>';
-
-                    td += format(div, clsLeft, lineColor, lineWeight, 0, i == last ? lineWeight : 0, height);
-                    td += format(div, clsRight, lineColor, lineWeight, lineWeight, 0, height);
-
-                    td += '</td>';
-
-                    out.push(td);
-                }
-
-                return out.join('');
-            }
-        }
-    ],
-
-    /**
-     * @cfg {Ext.XTemplate/String/String[]}} childrenTpl Container with children template
-     * @private
-     */
-    childrenTpl: [
-        '<tr class="{view.containerCls}">',
-            '{%values.view.renderNodes(values.node.childNodes, out)%}',
-        '</tr>'
-    ],
-
-    /**
-     * @cfg {Ext.XTemplate/String/String[]}} containerTpl Simple container template
-     * @private
-     */
-    containerTpl: '<tr class="{view.containerCls}"></tr>',
-
-    /**
-     * Record node image format
-     * @private
-     */
-    imgText: '<img src="{0}" class="{1}" />',
-
-    /**
-     * Inner node structure template
-     * @private
-     */
-    innerNodeTpl: [
-        '<table cellpadding="0" cellspacing="0" border="0"><tbody>',
-            //node content
-            '<tr class="{view.nodeContentRowCls}">',
-                '<td colspan="{node.childNodes.length}">',
-                    '<tpl if="node.data.icon || node.data.iconCls">',
-                        '{[Ext.String.format(values.view.imgText, values.node.data.icon ? values.node.data.icon : Ext.BLANK_IMAGE_URL, values.node.data.iconCls ? values.node.data.iconCls : "")]}',
-                    '</tpl>',
-                    '<span id="{nodeId}" class="{view.nodeContentCls}' +
-                        '{[values.view.itemCls ? " "+values.view.itemCls : ""]}',
-                        '{[values.node.get("cls") ? " "+values.node.get("cls") : ""]}',
-                        '" data-recordId="{[values.view.getRecordId(values.node)]}"',
-                        '<tpl if="node.data.qtitle && node.data.qtip">',
-                            ' data-qtitle="{node.data.qtitle:htmlEncode}"',
-                        '</tpl>',
-                        '<tpl if="node.data.qtip">',
-                            ' data-qtip="{node.data.qtip:htmlEncode}"',
-                        '</tpl>',
-                        '>{[values.view.renderItem(values.view, values.node)]}',
-                    '</span>',
-                '</td>',
-            '</tr>',
-
-            //children
-            '<tpl if="this.handleChildren(node)">',
-                //down line
-                '{[values.view.downLineTpl.apply(values)]}',
-
-                //children lines
-                '{[values.view.childrenLinesTpl.apply(values)]}',
-
-                //children container
-                '{[this.renderChildren(values)]}',
-            '</tpl>',
-        '</tbody></table>',
-        {
-            renderChildren: function(values){
-                var out=[];
-                values.view.childrenTpl.applyOut(values, out);
-                return out.join('');
-            },
-            handleChildren: function(node){
-                return (node.childNodes.length || (!node.isLeaf() && !node.get('loaded')));
-            }
-        }
-    ],
-
-    /**
-     * @cfg {Ext.XTemplate/String/String[]}} nodeTpl Full node component template
-     * @private
-     */
-    nodeTpl: [
-        '<td class="{view.nodeCls}{[!values.node.isLeaf() && !values.node.isExpanded() ? " " + values.view.collapseCls: ""]}" style="padding: 0 {view.nodeSpacing}px;">',
-        '{[values.view.innerNodeTpl.apply(values)]}',
-        '</td>'
-    ],
-
-    /**
-     * @cfg {Ext.XTemplate/String/String[]} itemTpl Template used to render the node's content.
-     */
-    itemTpl: '{text}',
-
-    /**
-     * @cfg {String} wrapperSelector Component wrapper CSS selector.
-     * @private
-     */
-    wrapperSelector: '.'+Ext.baseCSSPrefix + 'ochart-wrap',
-
-    /**
-     * @cfg {String} itemSelector Node content CSS selector
-     * private
-     */
-    itemSelector: '.'+Ext.baseCSSPrefix + 'ochart-node-content',
-
-    /**
-     * @cfg {String} itemRowSelector Item content row CSS selector
-     * private
-     */
-    itemRowSelector: '.'+Ext.baseCSSPrefix + 'ochart-node-row',
-
-    /**
-     * @cfg {String} nodeItemContainerSelector Node content row CSS selector
-     * private
-     */
-    nodeItemContainerSelector: 'table > tbody > .'+Ext.baseCSSPrefix + 'ochart-node-row',
-
-    /**
-     * @property {String} nodeSelector Node container CSS selector
-     * private
-     */
-    nodeSelector: '.'+Ext.baseCSSPrefix + 'ochart-node',
-
-    nodeBodySelector: 'table > tbody',
-
-    nodeContainerSelector: 'table > tbody > .'+Ext.baseCSSPrefix + 'ochart-container',
-
-    expanderSelector: '.'+Ext.baseCSSPrefix + 'ochart-expander',
-
-    inlineExpanderContainerSelector: 'table > tbody > .'+Ext.baseCSSPrefix + 'ochart-expander-row',
-
-    inlineExpanderContentSelector: 'table > tbody > .'+Ext.baseCSSPrefix + 'ochart-expander-row > td',
-
-    downLineContainerSelector: 'table > tbody > .'+Ext.baseCSSPrefix + 'ochart-down',
-
-    downLineSelector: 'table > tbody > .'+Ext.baseCSSPrefix + 'ochart-down > td',
-
-    childrenLinesSelector: 'table > tbody > .' + Ext.baseCSSPrefix + 'ochart-children-lines',
-
-    expandTip: 'Click here to expand this node.',
-
-    collapseTip: 'Click here to collapse this node.',
-
-    addBeforeTip: 'Add a new item before this.',
-
-    addAfterTip: 'Add a new item after this.',
-
-    addChildTip: 'Add a new child node to this item.',
-
-    removeItemTip: 'Remove this item.',
-
-    /**
-     * @cfg {Boolean} trackOver
-     * When `true` the {@link #overItemCls} will be applied to nodes when hovered over.
-     * This in return will also cause {#highlightitem} and
-     * {#unhighlightitem} events to be fired.
-     *
-     * Enabled automatically when the {@link #overItemCls} config is set.
-     */
-    trackOver: false,
-
-    /**
-     * @cfg {Number} [mouseOverOutBuffer=20]
-     * The number of milliseconds to buffer mouseover and mouseout event handling on view items.
-     *
-     * Configure this as `false` to process mouseover and mouseout events immediately.
-     */
-    mouseOverOutBuffer: 20,
-
-    inputTagRe: /^textarea$|^input$/i,
-
-    /**
-     * @cfg {String} overItemCls='x-ochart-over-node' Mouse over item class.
-     */
-    overItemCls: Ext.baseCSSPrefix + 'ochart-over-node',
-
-    /**
-     * @cfg {String} expanderCls Expand tool class.
-     */
-    expanderCls: null,
-
-    /**
-     * @cfg {String} addBeforeCls Add before tool class.
-     */
-    addBeforeCls: null,
-
-    /**
-     * @cfg {String} addAfterCls Add after tool class.
-     */
-    addAfterCls: null,
-
-    /**
-     * @cfg {String} addChildCls Add child tool class.
-     */
-    addChildCls: null,
-
-    /**
-     * @cfg {String} removeItemCls Remove item tool class.
-     */
-    removeItemCls: null,
-
-    /**
-     * @cfg {String} selectedItemCls
-     * A CSS class to apply to each selected item in the view.
-     */
-    selectedItemCls: Ext.baseCSSPrefix + 'item-selected',
-
-    /**
-     * @cfg {String} collapseCls
-     * A CSS class to apply to each item that is collapsed in the view.
-     */
-    collapseCls: Ext.baseCSSPrefix + 'item-collapsed',
-
-    inheritableStatics: {
-        /**
-         * Event maps
-         *
-         * @static
-         * @protected
-         */
-        EventMap: {
-            mousedown  : 'MouseDown',
-            mouseup    : 'MouseUp',
-            click      : 'Click',
-            dblclick   : 'DblClick',
-            contextmenu: 'ContextMenu',
-            mouseover  : 'MouseOver',
-            mouseout   : 'MouseOut',
-            mouseenter : 'MouseEnter',
-            mouseleave : 'MouseLeave',
-            keydown    : 'KeyDown',
-            focus      : 'Focus'
-        }
-    },
-
-    /**
-     * @cfg {String} triggerEvent="itemclick"
-     * Trigger event used by the selection model to handle item click
-     *
-     * @private
-     */
-    triggerEvent: 'itemclick',
-
-    /**
-     * @cfg {String} triggerCtEvent="containerclick"
-     * Trigger event used by the selection model to handle container click
-     *
-     * @private
-     */
-    triggerCtEvent: 'containerclick',
-
-    /** @inheritdoc */
-    initComponent: function(){
-        var me = this,
-            store = me.store,
-            root = me.root;
-
-        /**
-         * @cfg {String} wrapperCls Component wrapper class
-         * @private
-         */
-        me.wrapperCls = me.baseCls + '-wrap';
-
-        /**
-         * @cfg {String} containerCls Node container class
-         * @private
-         */
-        me.containerCls = me.baseCls + '-container';
-
-        /**
-         * @cfg {String} nodeCls Node component class
-         * @private
-         */
-        me.nodeCls = me.baseCls + '-node';
-
-        /**
-         * @cfg {String} nodeContentRowCls Node's content line class
-         * @private
-         */
-        me.nodeContentRowCls = me.baseCls + '-node-row';
-
-        /**
-         * @cfg {String} nodeContentCls Node's content class
-         * @private
-         */
-        me.nodeContentCls = me.baseCls + '-node-content';
-
-        /**
-         * @cfg {String} downLineCls Node's down line connector class
-         * @private
-         */
-        me.downLineCls = me.baseCls + '-down';
-
-        /**
-         * @cfg {String} expanderRowCls Inline expander row class
-         * @private
-         */
-        me.expanderRowCls = me.baseCls + '-expander-row';
-
-        /**
-         * @cfg {String} expanderCmpCls Expander component class
-         * @private
-         */
-        me.expanderCmpCls = me.baseCls + '-expander';
-
-        /**
-         * @cfg {String} addNodeCmpCls Add node component class
-         * @private
-         */
-        me.addNodeCmpCls = me.baseCls + '-add';
-
-        /**
-         * @cfg {String} removeNodeCmpCls Remove node component class
-         * @private
-         */
-        me.removeNodeCmpCls = me.baseCls + '-remove';
-
-        /**
-         * @cfg {String} childrenLinesCls Children connector lines row
-         * @private
-         */
-        me.childrenLinesCls = me.baseCls + '-children-lines';
-
-        //prepare templates
-        me.rootTpl          = Ext.XTemplate.getTpl(this, 'rootTpl');
-        me.nodesTpl         = Ext.XTemplate.getTpl(this, 'nodesTpl');
-        me.nodeTpl          = Ext.XTemplate.getTpl(this, 'nodeTpl');
-        me.innerNodeTpl     = Ext.XTemplate.getTpl(this, 'innerNodeTpl');
-        me.downLineTpl      = Ext.XTemplate.getTpl(this, 'downLineTpl');
-        me.childrenLinesTpl = Ext.XTemplate.getTpl(this, 'childrenLinesTpl');
-        me.childrenLineTpl  = Ext.XTemplate.getTpl(this, 'childrenLineTpl');
-        me.childrenTpl      = Ext.XTemplate.getTpl(this, 'childrenTpl');
-        me.containerTpl     = Ext.XTemplate.getTpl(this, 'containerTpl');
-        me.itemTpl          = Ext.XTemplate.getTpl(this, 'itemTpl');
-
-        //adjust spacings
-        if(me.levelSpacing < 5) me.levelSpacing = 5;
-
-        //create mouse over buffer if need
-        if (me.mouseOverOutBuffer) {
-            me.handleMouseOverOrOut = Ext.Function.createBuffered(me.handleMouseOverOrOut, me.mouseOverOutBuffer, me);
-            me.lastMouseOverOutEvent = new Ext.EventObjectImpl();
-        }
-
-        if (me.overItemCls) {
-            me.trackOver = true;
-        }
-
-        this.addEvents(
-            /**
-             * @event beforeitemmousedown
-             * Fires before the mousedown event on an item is processed. Returns false to cancel the default action.
-             * @param {Ext.view.View} this
-             * @param {Ext.data.Model} record The record that belongs to the item
-             * @param {HTMLElement} item The item's element
-             * @param {Number} index The item's index
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'beforeitemmousedown',
-            /**
-             * @event beforeitemmouseup
-             * Fires before the mouseup event on an item is processed. Returns false to cancel the default action.
-             * @param {Ext.view.View} this
-             * @param {Ext.data.Model} record The record that belongs to the item
-             * @param {HTMLElement} item The item's element
-             * @param {Number} index The item's index
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'beforeitemmouseup',
-            /**
-             * @event beforeitemmouseenter
-             * Fires before the mouseenter event on an item is processed. Returns false to cancel the default action.
-             * @param {Ext.view.View} this
-             * @param {Ext.data.Model} record The record that belongs to the item
-             * @param {HTMLElement} item The item's element
-             * @param {Number} index The item's index
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'beforeitemmouseenter',
-            /**
-             * @event beforeitemmouseleave
-             * Fires before the mouseleave event on an item is processed. Returns false to cancel the default action.
-             * @param {Ext.view.View} this
-             * @param {Ext.data.Model} record The record that belongs to the item
-             * @param {HTMLElement} item The item's element
-             * @param {Number} index The item's index
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'beforeitemmouseleave',
-            /**
-             * @event beforeitemclick
-             * Fires before the click event on an item is processed. Returns false to cancel the default action.
-             * @param {Ext.view.View} this
-             * @param {Ext.data.Model} record The record that belongs to the item
-             * @param {HTMLElement} item The item's element
-             * @param {Number} index The item's index
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'beforeitemclick',
-            /**
-             * @event beforeitemdblclick
-             * Fires before the dblclick event on an item is processed. Returns false to cancel the default action.
-             * @param {Ext.view.View} this
-             * @param {Ext.data.Model} record The record that belongs to the item
-             * @param {HTMLElement} item The item's element
-             * @param {Number} index The item's index
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'beforeitemdblclick',
-            /**
-             * @event beforeitemcontextmenu
-             * Fires before the contextmenu event on an item is processed. Returns false to cancel the default action.
-             * @param {Ext.view.View} this
-             * @param {Ext.data.Model} record The record that belongs to the item
-             * @param {HTMLElement} item The item's element
-             * @param {Number} index The item's index
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'beforeitemcontextmenu',
-            /**
-             * @event beforeitemkeydown
-             * Fires before the keydown event on an item is processed. Returns false to cancel the default action.
-             * @param {Ext.view.View} this
-             * @param {Ext.data.Model} record The record that belongs to the item
-             * @param {HTMLElement} item The item's element
-             * @param {Number} index The item's index
-             * @param {Ext.EventObject} e The raw event object. Use {@link Ext.EventObject#getKey getKey()} to retrieve the key that was pressed.
-             */
-            'beforeitemkeydown',
-            /**
-             * @event itemmousedown
-             * Fires when there is a mouse down on an item
-             * @param {Ext.view.View} this
-             * @param {Ext.data.Model} record The record that belongs to the item
-             * @param {HTMLElement} item The item's element
-             * @param {Number} index The item's index
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'itemmousedown',
-            /**
-             * @event itemmouseup
-             * Fires when there is a mouse up on an item
-             * @param {Ext.view.View} this
-             * @param {Ext.data.Model} record The record that belongs to the item
-             * @param {HTMLElement} item The item's element
-             * @param {Number} index The item's index
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'itemmouseup',
-            /**
-             * @event itemmouseenter
-             * Fires when the mouse enters an item.
-             * @param {Ext.view.View} this
-             * @param {Ext.data.Model} record The record that belongs to the item
-             * @param {HTMLElement} item The item's element
-             * @param {Number} index The item's index
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'itemmouseenter',
-            /**
-             * @event itemmouseleave
-             * Fires when the mouse leaves an item.
-             * @param {Ext.view.View} this
-             * @param {Ext.data.Model} record The record that belongs to the item
-             * @param {HTMLElement} item The item's element
-             * @param {Number} index The item's index
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'itemmouseleave',
-            /**
-             * @event itemclick
-             * Fires when an item is clicked.
-             * @param {Ext.view.View} this
-             * @param {Ext.data.Model} record The record that belongs to the item
-             * @param {HTMLElement} item The item's element
-             * @param {Number} index The item's index
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'itemclick',
-            /**
-             * @event itemdblclick
-             * Fires when an item is double clicked.
-             * @param {Ext.view.View} this
-             * @param {Ext.data.Model} record The record that belongs to the item
-             * @param {HTMLElement} item The item's element
-             * @param {Number} index The item's index
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'itemdblclick',
-            /**
-             * @event itemcontextmenu
-             * Fires when an item is right clicked.
-             * @param {Ext.view.View} this
-             * @param {Ext.data.Model} record The record that belongs to the item
-             * @param {HTMLElement} item The item's element
-             * @param {Number} index The item's index
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'itemcontextmenu',
-            /**
-             * @event itemkeydown
-             * Fires when a key is pressed while an item is currently selected.
-             * @param {Ext.view.View} this
-             * @param {Ext.data.Model} record The record that belongs to the item
-             * @param {HTMLElement} item The item's element
-             * @param {Number} index The item's index
-             * @param {Ext.EventObject} e The raw event object. Use {@link Ext.EventObject#getKey getKey()} to retrieve the key that was pressed.
-             */
-            'itemkeydown',
-            /**
-             * @event beforecontainermousedown
-             * Fires before the mousedown event on the container is processed. Returns false to cancel the default action.
-             * @param {Ext.view.View} this
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'beforecontainermousedown',
-            /**
-             * @event beforecontainermouseup
-             * Fires before the mouseup event on the container is processed. Returns false to cancel the default action.
-             * @param {Ext.view.View} this
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'beforecontainermouseup',
-            /**
-             * @event beforecontainermouseover
-             * Fires before the mouseover event on the container is processed. Returns false to cancel the default action.
-             * @param {Ext.view.View} this
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'beforecontainermouseover',
-            /**
-             * @event beforecontainermouseout
-             * Fires before the mouseout event on the container is processed. Returns false to cancel the default action.
-             * @param {Ext.view.View} this
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'beforecontainermouseout',
-            /**
-             * @event beforecontainerclick
-             * Fires before the click event on the container is processed. Returns false to cancel the default action.
-             * @param {Ext.view.View} this
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'beforecontainerclick',
-            /**
-             * @event beforecontainerdblclick
-             * Fires before the dblclick event on the container is processed. Returns false to cancel the default action.
-             * @param {Ext.view.View} this
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'beforecontainerdblclick',
-            /**
-             * @event beforecontainercontextmenu
-             * Fires before the contextmenu event on the container is processed. Returns false to cancel the default action.
-             * @param {Ext.view.View} this
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'beforecontainercontextmenu',
-            /**
-             * @event beforecontainerkeydown
-             * Fires before the keydown event on the container is processed. Returns false to cancel the default action.
-             * @param {Ext.view.View} this
-             * @param {Ext.EventObject} e The raw event object. Use {@link Ext.EventObject#getKey getKey()} to retrieve the key that was pressed.
-             */
-            'beforecontainerkeydown',
-            /**
-             * @event containermouseup
-             * Fires when there is a mouse up on the container
-             * @param {Ext.view.View} this
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'containermouseup',
-            /**
-             * @event containermouseover
-             * Fires when you move the mouse over the container.
-             * @param {Ext.view.View} this
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'containermouseover',
-            /**
-             * @event containermouseout
-             * Fires when you move the mouse out of the container.
-             * @param {Ext.view.View} this
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'containermouseout',
-            /**
-             * @event containerclick
-             * Fires when the container is clicked.
-             * @param {Ext.view.View} this
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'containerclick',
-            /**
-             * @event containerdblclick
-             * Fires when the container is double clicked.
-             * @param {Ext.view.View} this
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'containerdblclick',
-            /**
-             * @event containercontextmenu
-             * Fires when the container is right clicked.
-             * @param {Ext.view.View} this
-             * @param {Ext.EventObject} e The raw event object
-             */
-            'containercontextmenu',
-            /**
-             * @event containerkeydown
-             * Fires when a key is pressed while the container is focused, and no item is currently selected.
-             * @param {Ext.view.View} this
-             * @param {Ext.EventObject} e The raw event object. Use {@link Ext.EventObject#getKey getKey()} to retrieve the key that was pressed.
-             */
-            'containerkeydown',
-
-            /**
-             * @event
-             * @inheritdoc Ext.selection.DataViewModel#selectionchange
-             */
-            'selectionchange',
-            /**
-             * @event
-             * @inheritdoc Ext.selection.DataViewModel#beforeselect
-             */
-            'beforeselect',
-            /**
-             * @event
-             * @inheritdoc Ext.selection.DataViewModel#beforedeselect
-             */
-            'beforedeselect',
-            /**
-             * @event
-             * @inheritdoc Ext.selection.DataViewModel#select
-             */
-            'select',
-            /**
-             * @event
-             * @inheritdoc Ext.selection.DataViewModel#deselect
-             */
-            'deselect',
-            /**
-             * @event
-             * @inheritdoc Ext.selection.DataViewModel#focuschange
-             */
-            'focuschange',
-
-            /**
-             * @event highlightitem
-             * Fires when a node is highlighted using keyboard navigation, or mouseover.
-             * @param {Ext.view.View} view This View Component.
-             * @param {Ext.Element} node The highlighted node.
-             */
-            'highlightitem',
-
-            /**
-             * @event unhighlightitem
-             * Fires when a node is unhighlighted using keyboard navigation, or mouseout.
-             * @param {Ext.view.View} view This View Component.
-             * @param {Ext.Element} node The previously highlighted node.
-             */
-            'unhighlightitem',
-
-            /**
-             * @event additem
-             * Fires when one of add tools is clicked.
-             * @param {Ext.view.View} view This View Component.
-             * @param {Ext.data.NodeInterface} record The reference record for add action.
-             * @param {"before/after/child"} where Where to add the new record in relation to the reference record.
-             * @param {Ext.dom.Element} node The node element.
-             */
-            'additem',
-
-            /**
-             * @event removeitem
-             * Fires when remove item tool is clicked.
-             * @param {Ext.view.View} view This View Component.
-             * @param {Ext.data.NodeInterface} record The reference record for remove action.
-             * @param {Ext.dom.Element/null} node The node element.
-             */
-            'removeitem',
-
-            /**
-             * @event itemupdate
-             * Fires when one of nodes has been changed.
-             * @param {Ext.view.View} view This View Component.
-             * @param {Ext.data.NodeInterface} record The reference record for add action.
-             * @param {Ext.dom.Element} node The node element.
-             */
-            'itemupdate'
-        );
-
-        //create store if needed
-        if(Ext.isString(store)){
-            //it's an store id
-            store = Ext.StoreManager.lookup(store);
-        }
-        else if( !store || Ext.isObject(store) && !store.isStore){
-            //it's an store object declaration
-            store = me.store = new Ext.data.TreeStore(Ext.apply({
-                root: root,
-                fields: me.fields,
-                model: me.model
-            }), store);
-
-
-        }
-        else if (root) {
-            store = me.store = Ext.data.StoreManager.lookup(store);
-        }
-
-        //sets the root node
-        me.root = root || store.getRootNode();
-
-        //binds the store
-        me.bindStore(store, true, 'dataStore');
-        me.callParent(arguments);
-    },
-
-    /** @inheritdoc */
-    onRender: function(){
-        var me = this;
-        me.callParent(arguments);
-        me.el.ddScrollConfig= {
-            vthresh: 25,
-            hthresh: 25,
-            frequency: 300,
-            increment: 100
-        };
-    },
-
-    beforeRender: function() {
-        var me = this;
-        me.callParent(arguments);
-        //me.protoEl.set('unselectable', true);
-        me.getSelectionModel().beforeViewRender(me);
-    },
-
-    afterRender: function(){
-        var me = this,
-            store = this.store,
-            onMouseOverOut = me.mouseOverOutBuffer ? me.onMouseOverOut : me.handleMouseOverOrOut;
-        me.callParent();
-
-        //todo handle keyboard an context menu
-        //init component input event handler
-        me.mon( me.el, {
-            scope      : me,
-            /*
-             * We need to make copies of this since some of the events fired here will end up triggering
-             * a new event to be called and the shared event object will be mutated. In future we should
-             * investigate if there are any issues with creating a new event object for each event that
-             * is fired.
-             */
-            freezeEvent: true,
-            click      : me.handleEvent,
-            mousedown  : me.handleEvent,
-            mouseup    : me.handleEvent,
-            dblclick   : me.handleEvent,
-            contextmenu: me.handleEvent,
-            keydown    : me.handleEvent,
-            mouseover  : me.onMouseOverOut,
-            mouseout   : me.onMouseOverOut
-        } );
-
-        //there's not a root node?
-        if( !me.store.getCount() ){
-            //load the store if need and postpone rendering
-            if( !store.isLoading() && me.autoLoadStore){
-                store.load();
-            }
-        }
-        else{
-            this.refresh();
-        }
-
-        this.getSelectionModel().bindComponent(this);
-
-        //inline expander tool config
-        me.el.on({
-            scope: me,
-            delegate: me.expanderSelector,
-            mouseover: me.onExpanderMouseOver,
-            mouseout: me.onExpanderMouseOut,
-            click: me.onInlineExpanderClick
-        });
-        //init floating tools
-        me.expandTool = Ext.create('Ext.Component',{
-            floating: true,
-            border: 0,
-            autoEl: {
-               tag: 'div',
-               'data-qtip': Ext.util.Format.htmlEncode(me.collapseTip)
-            },
-            shadow: false,
-            hidden: true,
-            width: 16,
-            height: 16,
-            cls: me.expanderCmpCls + (me.expanderCls ? ' '+ me.expanderCls : ''),
-            listeners:{
-                scope: me,
-                render: function(){
-                    var el = this.expandTool.getEl();
-                    el.on('click', this.onItemExpandClick, this);
-                }
-            }
-        });
-        me.addBeforeTool = Ext.create('Ext.Component',{
-            floating: true,
-            border: 0,
-            autoEl: {
-                tag: 'div',
-                'data-qtip': Ext.util.Format.htmlEncode(me.addBeforeTip)
-            },
-            shadow: false,
-            hidden: true,
-            width: 16,
-            height: 16,
-            cls: me.addNodeCmpCls + (me.addBeforeCls ? ' '+ me.addBeforeCls : ''),
-            listeners:{
-                scope: me,
-                render: function(){
-                    var el = this.addBeforeTool.getEl();
-                    this.mon(el, 'click', this.onItemAddBeforeClick, this);
-                }
-            }
-        });
-
-        me.addAfterTool = Ext.create('Ext.Component',{
-            floating: true,
-            border: 0,
-            autoEl: {
-                tag: 'div',
-                'data-qtip': Ext.util.Format.htmlEncode(me.addAfterTip)
-            },
-            shadow: false,
-            hidden: true,
-            width: 16,
-            height: 16,
-            cls: me.addNodeCmpCls + (me.addAfterCls ? ' '+ me.addAfterCls : ''),
-            listeners:{
-                scope: me,
-                render: function(){
-                    var el = this.addAfterTool.getEl();
-                    this.mon(el, 'click', this.onItemAddAfterClick, this);
-                }
-            }
-        });
-
-        me.addChildTool = Ext.create('Ext.Component',{
-            floating: true,
-            border: 0,
-            autoEl: {
-                tag: 'div',
-                'data-qtip': Ext.util.Format.htmlEncode(me.addChildTip)
-            },
-            shadow: false,
-            hidden: true,
-            width: 16,
-            height: 16,
-            cls: me.addNodeCmpCls + (me.addChildCls ? ' '+ me.addChildCls : ''),
-            listeners:{
-                scope: me,
-                render: function(){
-                    var el = this.addChildTool.getEl();
-                    this.mon(el, 'click', this.onItemAddChildClick, this);
-                }
-            }
-        });
-
-        me.removeItemTool = Ext.create('Ext.Component',{
-            floating: true,
-            border: 0,
-            autoEl: {
-                tag: 'div',
-                'data-qtip': Ext.util.Format.htmlEncode(me.removeItemTip)
-            },
-            shadow: false,
-            hidden: true,
-            width: 16,
-            height: 16,
-            cls: me.removeNodeCmpCls + (me.removeItemCls ? ' '+ me.removeItemCls : ''),
-            listeners:{
-                scope: me,
-                render: function(){
-                    var el = this.removeItemTool.getEl();
-                    this.mon(el, 'click', this.onItemRemoveClick, this);
-                }
-            }
-        });
-    },
-
-    /** @inheritdoc */
-    onDestroy: function(){
-        var me = this;
-
-        //unbind store
-        me.bindStore( null );
-
-        //fre component input handler
-        me.mun( me.el, {
-            scope      : me,
-            /*
-             * We need to make copies of this since some of the events fired here will end up triggering
-             * a new event to be called and the shared event object will be mutated. In future we should
-             * investigate if there are any issues with creating a new event object for each event that
-             * is fired.
-             */
-            freezeEvent: true,
-            click      : me.handleEvent,
-            mousedown  : me.handleEvent,
-            mouseup    : me.handleEvent,
-            dblclick   : me.handleEvent,
-            //contextmenu: me.handleEvent,
-            //keydown    : me.handleEvent,
-            mouseover  : me.onMouseOverOut,
-            mouseout   : me.onMouseOverOut
-        } );
-
-        //free inline expand tool handler
-        me.el.un( {
-            scope    : me,
-            delegate : me.expanderSelector,
-            mouseover: me.onExpanderMouseOver,
-            mouseout : me.onExpanderMouseOut,
-            click    : me.onInlineExpanderClick
-        } );
-
-        //fre the floating tools handlers
-        if(me.expandTool){
-            me.mun(me.expandTool.getEl(), 'click', me.onItemExpandClick, me);
-            me.expandTool.destroy();
-        }
-        if(me.addBeforeTool){
-            me.mun(me.addBeforeTool.getEl(), 'click', me.onItemAddBeforeClick, me);
-            me.addBeforeTool.destroy();
-        }
-        if(me.addAfterTool){
-            me.mun(me.addAfterTool.getEl(), 'click', me.onItemAddAfterClick, me);
-            me.addAfterTool.destroy();
-        }
-        if(me.addChildTool){
-            me.mun(me.addChildTool.getEl(), 'click', me.onItemAddChildClick, me);
-            me.addChildTool.destroy();
-        }
-        if(me.removeItemTool){
-            me.mun(me.removeItemTool.getEl(), 'click', me.onItemRemoveClick, me);
-            me.removeItemTool.destroy();
-        }
-
-        //free the selection model
-        if( me.selModel ){
-            me.selModel.destroy();
-        }
-
-
-        me.callParent( arguments );
-    },
-
-    /**
-     * Sets the root node for the component
-     * @param node
-     */
-    setRootNode: function(node) {
-        var me = this
-            store = this.store;
-        this.root = node;
-
-        //if root is set by loading store, postpone for onload event
-        if(!store.isLoading() && store.getCount() && me.initialLoad) this.refresh();
-    },
-
-    /**
-     * Returns the root node for this instance
-     *
-     * @returns {Ext.data.NodeInterface/null} The root node
-     */
-    getRootNode: function(){
-        return this.root;
-    },
-
-    /** @inheritdoc */
-    onBindStore: function(store, initial){
-        var me = this;
-        me.store = store;
-        me.initialLoad = false;
-
-        // Bind the store to our selection model unless it's the initial bind.
-        // Initial bind takes place in afterRender
-        // Same for first rendering
-        if (!initial) {
-            me.getSelectionModel().bindStore(store);
-            me.refresh();
-        }
-    },
-
-    /** @inheritdoc */
-    onUnbindStore: function(store, initial){
-        var me = this;
-        me.store = null;
-    },
-
-    /** @inheritdoc */
-    getStoreListeners: function(){
-        var me = this,
-            listeners = {
-                idchanged     : me.onStoreIdChanged,
-                load          : me.onStoreLoad,
-                beforeload    : me.onStoreBeforeLoad,
-                rootchange    : me.onStoreRootChange,
-                beforeexpand  : me.onStoreBeforeExpand,
-                expand        : me.onStoreExpand,
-                beforecollapse: me.onStoreBeforeCollapse,
-                collapse      : me.onStoreCollapse,
-                //datachanged   : me.onStoreDataChanged,
-                append        : me.onStoreAppend,
-                insert        : me.onStoreInsert,
-                clear         : me.onStoreClear,
-                refresh       : me.onDataRefresh,
-                update        : me.onStoreUpdate
-            };
-
-        listeners['remove'] = me.onStoreRemove;
-        if( Ext.versions.extjs.isLessThan( '4.2.0' ) ){
-            //there´s a bug in code below 4.2.0, update event is not fired for treestore
-            //so use a flag to solve it in the component code
-            me.needNodeJoin = true;
-        }
-        else{
-            listeners['bulkremove'] = me.onStoreBulkRemove;
-        }
-
-        return listeners;
-    },
-
-    /**
-     * Draws/Redraws the full component's content
-     */
-    refresh: function(){
-        var me = this,
-            el = me.el,
-            store = me.store,
-            root = me.root,
-            body, out;
-
-        //not rendered yet or already refreshing, so postpone
-        if(!me.rendered || me.refreshingView) return;
-
-        body = me.getChildrenContainer(me.el);
-
-        me.hideTools();
-
-        //its rendered but doesnt have associated data??
-        //so clear the component
-        if(!store || !root){
-            me.renderTpl.overwrite(me.el,{});
-            return;
-        }
-
-        me.suspendEvents();
-
-        me.refreshingView = true;
-
-        me.initialLoad = true;
-
-        out = ['<table class="'+me.wrapperCls+'"><tr class="'+me.containerCls+'">'];
-        me.renderNodes(me.rootVisible ? [root] : root.childNodes, out);
-        out.push('</tr></table>');
-
-        Ext.fly(me.el).setHTML(out.join(''));
-
-        me.refreshingView = false;
-
-        me.resumeEvents();
-    },
-
-    /**
-     *
-     * @param root
-     *
-     * @todo Precisa acertar, pois o nó pode não ser a raiz da arvore e pode ser necessário ler até encontrar
-     */
-    onStoreRootChange: function(root) {
-        var me = this;
-        //there is a bug with update event for ext below 4.2.0
-        //so we need fire this events any way
-        if(!me.needNodeJoin){
-            me.store.un( 'append', me.onStoreAppend, me );
-            me.store.un( 'update', me.onStoreUpdate, me );
-        }
-        me.storeRootLoad = true;
-        me.setRootNode(root);
-    },
-
-    onStoreBeforeExpand: function(record){
-        var me = this,
-            item = me.getItemByRecord(record);
-
-        if(!item) return;
-        me.nodeRegionOnExpand = Ext.fly(item).getRegion();
-    },
-
-    /**
-     * Expands a record that is loaded in the view.
-     *
-     * If an animated collapse or expand of the record is in progress, this call will be ignored.
-     * @param {Ext.data.Model} record The record to expand
-     * @param {Boolean} [deep] True to expand nodes all the way down the tree hierarchy.
-     * @param {Function} [callback] The function to run after the expand is completed
-     * @param {Object} [scope] The scope of the callback function.
-     */
-    expand: function(record, deep, callback, scope) {
-	var me = this,
-            result;
-
-        // Need to suspend layouts because the expand process makes multiple changes to the UI
-        // in addition to inserting new nodes. Folder and elbow images have to change, so we
-        // need to coalesce all resulting layouts.
-        Ext.suspendLayouts();
-        result = record.expand(deep, callback, scope);
-        Ext.resumeLayouts(true);
-        return result;
-    },
-
-    collapse: function(record, deep, callback, scope) {
-        var me = this,
-            result;
-
-        // Need to suspend layouts because the expand process makes multiple changes to the UI
-        // in addition to inserting new nodes. Folder and elbow images have to change, so we
-        // need to coalesce all resulting layouts.
-        Ext.suspendLayouts();
-        result = record.collapse(deep, callback, scope);
-        Ext.resumeLayouts(true);
-        return result;
-    },
-
-    onStoreExpand: function(record){
-        var me = this,
-            item = me.getItemByRecord(record),
-            node,
-            cls = me.collapseCls,
-            ct;
-
-        //verify if record is in the component
-        if(!item) return;
-
-        node = me.getNodeFromChildEl(item);
-
-        if(!node) return;
-
-        node.removeCls(cls);
-
-        if(me.nodeRegionOnExpand){
-            me.preserveScroll(item);
-        }
-        else me.focusNode(record);
-        me.nodeRegionOnExpand = null;
-    },
-
-    onStoreBeforeCollapse: function(record){
-        var me = this,
-            item = me.getItemByRecord(record);
-
-        if(!item) return;
-        me.nodeRegionOnExpand = Ext.fly(item).getRegion();
-    },
-
-    preserveScroll: function(node){
-        var me = this,
-            region = Ext.fly(node).getRegion(),
-            oldRegion = me.nodeRegionOnExpand,
-            diffX, diffY;
-
-        diffY = region.top - oldRegion.top;
-        diffX = region.left - oldRegion.left;
-
-        me.scrollBy(diffX, diffY);
-
-    },
-
-    onStoreCollapse: function(record){
-        var me = this,
-            item = me.getItemByRecord(record),
-            node,
-            cls = me.collapseCls,
-            ct;
-
-        //verify if record is in the component
-        if(!item) return;
-
-        node = me.getNodeFromChildEl(item);
-
-        if(!node) return;
-
-        node.addCls(cls);
-        if(me.nodeRegionOnExpand){
-            me.preserveScroll(item);
-        }
-        else me.focusNode(record);
-        me.nodeRegionOnExpand = null;
-    },
-
-    onStoreIdChanged: function(store, rec, oldId, newId, oldInternalId){
-        var me = this,
-            nodeDom;
-
-        if (me.rendered) {
-            nodeDom = me.getNode(oldId || oldInternalId);
-            if (nodeDom) {
-                nodeDom.setAttribute('data-recordId', me.getRecordId(rec));
-                nodeDom.id = me.getNodeId(rec);
-            }
-        }
-    },
-
-    /*onStoreDataChanged: function(){
-        console.log('changed');
-    },*/
-
-    onStoreBeforeLoad: function(store, operation, options){
-        var me = this,
-            loadMask = me.loadMask,
-            nodeItem, node;
-
-        if(me.rendered && loadMask){
-            if(Ext.isObject(loadMask)){
-                loadMask.show();
-            }
-            else{
-                nodeItem = me.getItemByRecord(operation.node);
-                if(!nodeItem) return;
-                node = me.getNodeFromChildEl(nodeItem);
-                node = me.getNodeInlineExpanderContainer(node);
-                Ext.fly(node).mask(me.loadingText);
-            }
-        }
-    },
-
-    onStoreLoad: function(store, fillRoot, newNodes) {
-        var me = this,
-            root = me.root,
-            loadMask = me.loadMask,
-            parent, node, nodeItem;
-
-        // Always update the current node, since the load may be triggered
-        // by .load() directly instead of .expand() on the node
-        fillRoot.triggerUIUpdate();
-
-        me.storeRootLoad = false;
-        if(!me.needNodeJoin){
-            me.store.on('append',me.onStoreAppend, me);
-            me.store.on('update',me.onStoreUpdate, me);
-        }
-
-        if(!me.rendered) return;
-
-        if(loadMask){
-            if(Ext.isObject(loadMask)){
-                loadMask.hide();
-            }
-            else{
-                nodeItem = me.getItemByRecord(fillRoot);
-                if(nodeItem){
-                    node = me.getNodeFromChildEl(nodeItem);
-                    node = me.getNodeInlineExpanderContainer(node);
-                    Ext.fly(node).unmask();
-                }
-            }
-        }
-
-        if(fillRoot == root){
-            me.refresh();
-            return;
-        }
-
-        if(root != store.getRootNode()){
-            //not all nodes of store belongs to the component
-            //so we need figure out if the loaded nodes belongs to component's root
-            parent = fillRoot.parentNode;
-            while(parent){
-                if(parent == root) break;
-                parent = parent.parentNode;
-            }
-
-            if(parent != root) return;
-        }
-        me.refreshNode(fillRoot);
-    },
-
-
-    getRecordId: function(record){
-        return (record.get('id') || record.internalId);
-    },
-
-    /**
-     * Get node's id to use for node item HTML element
-     * @param {Ext.data.NodeInterface} record The record that the element represents
-     * @returns {String} The element id
-     */
-    getNodeId: function(record){
-        return this.id + '-record-' + this.getRecordId(record);
-    },
-
-    /**
-     * Gets the record for the node item HTML element
-     *
-     * @param {HtmlElement} node The html element that represents the record
-     * @returns {Ext.data.NodeInterface} The record if found
-     */
-    getRecord: function(node) {
-        node = this.getNode(node);
-        if(node) {
-            var id = node.getAttribute('data-recordId');
-            if(!id && Ext.isIE){
-                id = node.id.substr(this.id.length+8);
-            }
-            return this.store.getNodeById(id);
-        }
-    },
-
-    /**
-     * Gets a template node item.
-     *
-     * @param {HTMLElement/String/Number/Ext.data.Model} nodeInfo An HTMLElement template node,
-     * the id of a template node or the record associated with the node.
-     *
-     * @return {HTMLElement} The node or null if it wasn't found
-     */
-    getNode : function(nodeInfo) {
-        if ((!nodeInfo && nodeInfo !== 0) || !this.rendered) {
-            return null;
-        }
-
-        if (Ext.isString(nodeInfo)) {
-            return document.getElementById(nodeInfo);
-        }
-
-        if (nodeInfo.isModel) {
-            return this.getItemByRecord(nodeInfo);
-        }
-
-        return nodeInfo; // already an HTMLElement
-    },
-
-    /**
-     * Get the nodes on this component
-     *
-     * @returns {Array} The nodes list
-     *
-     * @todo implement this method
-     */
-    getNodes: function(){
-        return [];
-    },
-
-    /**
-     * Gets a template node content or node container template from a record
-     *
-     * @param {Ext.data.NodeInterface} record The record to find the node template
-     * @param {Boolean} container When true the node's container element is returned if found, if false the node's content element
-     *
-     * @returns {HtmlElement}
-     */
-    getItemByRecord: function(record, container) {
-        var id = this.getNodeId(record);
-        return this.retrieveNode(id, container);
-    },
-
-    /**
-     * Gets a template node content or node container template from it's id
-     *
-     * @param {Ext.data.NodeInterface} record The record to find the node template
-     * @param {Boolean} container When true the node's container element is returned if found, if false the node's content element
-     *
-     * @returns {HtmlElement}
-     *
-     * @protected
-     */
-    retrieveNode: function(id, container){
-        var me = this,
-            result = me.el.getById(id, true),
-            fly;
-
-        if(container && result) {
-            if (!(fly = Ext.fly(result)).is(me.itemSelector)) {
-                return me.getNodeFromChildEl(fly);
-            }
-        }
-
-        return result;
-    },
-
-    /**
-     * Gets the node's container for the node content
-     *
-     * @param {HTMLElement|Ext.dom.Element} node The node element
-     *
-     * @returns {Ext.dom.Element/null} The content container if the node contains it
-     */
-    getItemContainer: function(node){
-        return Ext.fly(node).child(this.nodeItemContainerSelector);
-    },
-
-    /**
-     * Gets the node content container that contains the item
-     *
-     * @param {HTMLElement|Ext.dom.Element} item The item contents element
-     *
-     * @returns {Ext.dom.Element/null} The content row if found
-     */
-    getItemRowFromItem: function(item){
-        return Ext.fly(item).parent(this.itemRowSelector);
-    },
-
-    /**
-     * Get the node element from one of its children elements
-     *
-     * @param {HTMLElement|Ext.dom.Element} item The node's child element
-     *
-     * @returns {Ext.dom.Element/null} The node element if found
-     */
-    getNodeFromChildEl: function(item){
-        return Ext.fly(item).up(this.nodeSelector);
-    },
-
-    /**
-     * Get the node's body element
-     *
-     * @param {HTMLElement|Ext.dom.Element} node The node element
-     *
-     * @returns {Ext.dom.Element|null} The body of the node element if found
-     */
-    getNodeBody: function(node){
-        return Ext.fly(node).child(this.nodeBodySelector);
-    },
-
-    /**
-     * Get the node's children container
-     *
-     * @param {HTMLElement|Ext.dom.Element} node The node element
-     *
-     * @returns {Ext.dom.Element|null} The children container element
-     */
-    getChildrenContainer: function(node){
-        return Ext.fly(node).child(this.nodeContainerSelector);
-    },
-
-    /**
-     * Get the container of the children connector lines
-     *
-     * @param {HTMLElement|Ext.dom.Element} node The node element
-     *
-     * @returns {Ext.dom.Element|null} The container for the children lines of the node
-     */
-    getChildrenLinesContainer: function(node){
-        return Ext.fly(node).child(this.childrenLinesSelector);
-    },
-
-    /**
-     * Get the node's wrapper for the down line connector
-     *
-     * @param {HTMLElement|Ext.dom.Element} node The node element
-     *
-     * @returns {Ext.dom.Element|null} The node's down line connector wrapper
-     */
-    getNodeDownLine: function(node){
-        return Ext.fly(node).down(this.downLineSelector);
-    },
-
-    /**
-     * Get the node container for the down line connector
-     *
-     * @param {HTMLElement|Ext.dom.Element} node The node element
-     *
-     * @returns {Ext.dom.Element|null} The node's down line connector container
-     */
-    getNodeDownLineContainer: function(node){
-        return Ext.fly(node).down(this.downLineContainerSelector);
-    },
-
-    /**
-     * Get the node container for the inline expander
-     *
-     * @param {HTMLElement|Ext.dom.Element} node The node element
-     *
-     * @returns {Ext.dom.Element|null} The node's down line connector wrapper
-     */
-    getNodeInlineExpanderContainer: function(node){
-        return Ext.fly(node).child(this.inlineExpanderContainerSelector);
-    },
-
-    /**
-     * Get the node wrapper for the inline expander
-     *
-     * @param {HTMLElement|Ext.dom.Element} node The node element
-     *
-     * @returns {Ext.dom.Element|null} The node's down line connector wrapper
-     */
-    getNodeInlineExpander: function(node){
-        return Ext.fly(node).child(this.inlineExpanderContentSelector);
-    },
-
-
-    /**
-     * Removes a node from the component using the record data
-     *
-     * @param {Ext.data.NodeInterface} record The node record
-     *
-     * @return {HtmlElement} The node element removed
-     */
-    removeNodeFromRecord: function(record){
-        var me = this,
-            item = me.getItemByRecord(record),
-            node, parent, count, tmp;
-
-        if(!item) return null;
-
-        node = me.getNodeFromChildEl(item);
-        parent = me.getNodeFromChildEl(node);
-        me.getSelectionModel().deselect(record);
-        //Ext.fly(item).removeCls('x-item-selected');
-        Ext.fly(node).remove();
-
-        //could be a root node child and root isn't shown in the component
-        if(parent){
-            //adjust the parent node to reflect the removal
-            tmp = me.getNodeDownLine(parent);
-            count = tmp.getAttribute('colSpan') - 1;
-            if(!count){
-                //become a leaf, so remove unnecessary elements (down line, inline expander, child nodes container, etc..)
-                tmp.parent().remove();
-                me.getNodeInlineExpanderContainer(parent).remove();
-                me.getChildrenContainer(parent).remove();
-            }
-            else{
-                //adjust the parent node
-                tmp.set({colSpan: count});
-                me.getNodeInlineExpander(parent).set({colSpan : count});
-                tmp = me.getChildrenLinesContainer(parent).dom;
-                //removes the child connector line
-                if(count < 2){
-                    //remove the full container of children connector lines
-                    Ext.fly(tmp).remove();
-                }
-                else{
-                    //removes just the connector line of one child
-                    Ext.fly(tmp.childNodes[1]).remove();
-                }
-            }
-        }
-
-        return node;
-    },
-
-    /**
-     * Removes a node from the component
-     *
-     * @param {Ext.data.NodeInterface} record The node element
-     *
-     * @return {HtmlElement} The node element removed
-     */
-    removeNode: function(node){
-        var me = this,
-            parent, count, tmp;
-
-        if(!node) return null;
-
-        parent = me.getNodeFromChildEl(node);
-        Ext.fly(node).remove();
-
-        //could be a root node child and root isn't shown in the component
-        if(parent){
-            //adjust the parent node to reflect the removal
-            tmp = me.getNodeDownLine(parent);
-            count = tmp.getAttribute('colSpan') - 1;
-            if(!count){
-                //become a leaf, so remove unnecessary elements (down line, inline expander, child nodes container, etc..)
-                tmp.parent().remove();
-                me.getNodeInlineExpanderContainer(parent).remove();
-                me.getChildrenContainer(parent).remove();
-            }
-            else{
-                //adjust the parent node
-                tmp.set({colSpan: count});
-                me.getNodeInlineExpander(parent).set({colSpan : count});
-                tmp = me.getChildrenLinesContainer(parent).dom;
-                //removes the child connector line
-                if(count < 2){
-                    //remove the full container of children connector lines
-                    Ext.fly(tmp).remove();
-                }
-                else{
-                    //removes just the connector line of one child
-                    Ext.fly(tmp.childNodes[1]).remove();
-                }
-            }
-        }
-
-        return node;
-    },
-
-    /**
-     * Rebuild the full node structure
-     *
-     * @param record The record to have it's structure rebuilded
-     */
-    refreshNode: function(record){
-        var me = this,
-            nodeItem = me.getItemByRecord(record),
-            node;
-
-        //the node was not found?
-        if(!nodeItem  ){
-            return;
-        }
-
-        node = me.getNodeFromChildEl(nodeItem);
-        if(!node){
-            return;
-        }
-
-        me.innerNodeTpl.overwrite(node, {view: me, node: record, nodeId: me.getNodeId(record)});
-    },
-
-    insertNodeFromRecord: function(record, refRecord){
-        var me = this,
-            parentRecord = record.parentNode,
-            node,nodeItem,
-            inWrapper = false,
-            childCount = parentRecord.childNodes.length,
-            renderBuffer = me.renderBuffer,
-            out, container, body, len, tmp, parentItem,
-            parentNode, values, downLine, reference;
-
-        if(!me.rendered){
-            return;
-        }
-
-        nodeItem = me.getItemByRecord(record);
-        if(nodeItem){
-            node = me.getNodeFromChildEl(nodeItem);
-        }
-
-        parentItem = me.getItemByRecord(parentRecord);
-
-        //insert at root but root could not be visible, so add to component wrapper
-        if(!parentItem){
-            parentNode = me.el;
-            inWrapper = true;
-        }
-        else{
-            parentNode = me.getNodeFromChildEl(parentItem);
-        }
-
-        //if the node doesn't exist yet, create it
-        if(!node){
-            //'<td class="{view.nodeCls}{[!values.node.isLeaf() && !values.node.isExpanded() ? " " + values.view.collapseCls: ""]}" style="padding: 0 {view.nodeSpacing}px;">',
-            node = Ext.DomHelper.createDom({
-                tag: 'td',
-                cls: me.nodeCls + (!record.isLeaf() && !record.isExpanded() ? " " + me.collapseCls : "" ),
-                style: "padding: 0 "+me.nodeSpacing+"px",
-                html: me.innerNodeTpl.apply({view: me, node: record, nodeId: me.getNodeId(record)})
-            });
-        }
-        else{
-            tmp = Ext.DomHelper.createDom({
-                tag: 'td',
-                cls: me.nodeCls + (!record.isLeaf() && !record.isExpanded() ? " " + me.collapseCls : "" ),
-                style: "padding: 0 "+me.nodeSpacing+"px"
-            });
-
-            //Ext.fly(nodeItem).removeCls('x-item-selected');
-            Ext.fly(tmp).appendChild(node.first());
-            me.removeNode(node);
-            node = tmp;
-        }
-
-        values = {view: me, node: parentRecord, nodeId: me.getNodeId(parentRecord)};
-
-
-        //it´s an append?
-        if(!refRecord){
-            if(inWrapper){
-                //just add to the wrapper container
-                container = me.getChildrenContainer(parentNode);
-                container.appendChild(node);
-            }
-            else{
-                out = [];
-
-                downLine = me.getNodeDownLine(parentNode);
-
-                //doesn't have a down line? so it was a leaf before
-                if(!downLine){
-                    //create full container node parts
-
-                    out.push('<table>');
-                    out.push(me.downLineTpl.apply(values));
-                    out.push(me.childrenLinesTpl.apply(values));
-                    out.push(me.containerTpl.apply(values));
-                    out.push('</table>');
-                    Ext.fly(renderBuffer).setHTML(out.join(''));
-
-                    if(!parentRecord.isExpanded()){
-                        parentNode.addCls(me.collapseCls);
-                    }
-
-                    container = me.getChildrenContainer(renderBuffer);
-                    body = me.getNodeBody(parentNode);
-                    tmp = Ext.fly(renderBuffer).query('tr');
-                    len = tmp.length;
-                    for(var i= 0; i< len; ++i){
-                        body.appendChild(tmp[i]);
-                    }
-
-                    Ext.fly(container).appendChild(node)
-
-                    if(!parentRecord.isExpanded()){
-                        parentRecord.expand(false, function(){
-                            me.focusNode(me.getItemByRecord(record));
-                        }, me)
-                    }
-                    else me.focusNode(me.getItemByRecord(record));
-
-                    return;
-                }
-                else {
-                    //adjust the down line and inline expander
-                    Ext.fly(parentItem).parent().set({colSpan: childCount});
-                    downLine.set({colSpan: childCount});
-                    me.getNodeInlineExpander(parentNode).set({colSpan: childCount});
-                }
-
-                container = me.getChildrenContainer(parentNode);
-
-                //adjust the children lines
-                if(childCount > 1){
-                    tmp = me.getChildrenLinesContainer( parentNode );
-                    if( !tmp ){
-                        //was a single child, so children lines doesn't exist yet
-                        out = ['<table>']
-                        out.push(me.childrenLinesTpl.apply( values ));
-                        out.push('</table>')
-                        Ext.fly(me.renderBuffer).setHTML(out.join(''));
-                        Ext.fly(me.renderBuffer).down('tr').insertBefore(container);
-                    }
-                    else{
-                        //add the new child line
-                        var line = Ext.DomHelper.createDom({
-                            tag: 'td',
-                            html: me.childrenLineTpl.apply(values)
-                        });
-                        Ext.fly(line).insertAfter(tmp.first());
-                    }
-                }
-
-                //add the new node to children container
-                container.appendChild(node);
-            }
-        }
-        else{
-            if(!inWrapper){
-                Ext.fly(parentItem ).parent().set( {colSpan: childCount} );
-                me.getNodeDownLine( parentNode ).set( {colSpan: childCount} );
-                me.getNodeInlineExpander( parentNode ).set( {colSpan: childCount} );
-            }
-
-            container = me.getChildrenContainer(parentNode);
-
-            //adjust the children lines
-            if(!inWrapper && childCount > 1){
-                tmp = me.getChildrenLinesContainer( parentNode );
-                if( !tmp ){
-                    //was a single child, so children lines doesn't exist yet
-                    out = ['<table>']
-                    out.push(me.childrenLinesTpl.apply( values ));
-                    out.push('</table>')
-                    Ext.fly(me.renderBuffer).setHTML(out.join(''));
-                    Ext.fly(me.renderBuffer).down('tr').insertBefore(container);
-                }
-                else{
-                    //add the new child line
-                    var line = Ext.DomHelper.createDom({
-                        tag: 'td',
-                        html: me.childrenLineTpl.apply(values)
-                    });
-                    Ext.fly(line).insertAfter(tmp.first());
-                }
-            }
-
-            reference = me.getItemByRecord(refRecord);
-            if(!reference){
-                //reference not found so append to container
-                container.appendChild(node);
-            }
-            else{
-                reference = me.getNodeFromChildEl(reference);
-                Ext.fly(node).insertBefore(reference);
-            }
-
-        }
-
-        if(!parentRecord.isExpanded()){
-            parentRecord.expand(false, function(){
-                me.focusNode(me.getItemByRecord(record));
-            }, me)
-        }
-        else me.focusNode(me.getItemByRecord(record));
-
-    },
-
-    onStoreAppend: function(parentRecord, record, index, opt){
-        var me = this;
-
-        if(me.needNodeJoin) record.join(me.store);
-
-        if(me.initialLoad && !me.storeRootLoad){
-            //looks like a bug in 4.2.1 and 4.2.2 maybe before too
-            if(parentRecord.isLeaf()){
-                parentRecord.set('leaf',false);
-            }
-
-            me.insertNodeFromRecord(record);
-        }
-    },
-
-    onStoreInsert: function(parent, record, refNode, opt){
-        if(this.needNodeJoin) record.join(this.store);
-        this.insertNodeFromRecord(record, refNode);
-    },
-
-    onStoreRemove: function(parentRecord, record, isMove, opt){
-        var me = this;
-
-        //looks like a bug in 4.2.1 and 4.2.2 maybe before too
-        if(!parentRecord.isLeaf() && !parentRecord.childNodes.length){
-            parentRecord.set('leaf',true);
-        }
-
-        if(isMove) return;
-
-        if(me.needNodeJoin){
-            record.unjoin(me.store);
-        }
-
-        me.removeNodeFromRecord(record);
-    },
-
-    onStoreBulkRemove: function(store, records, isMove, opt){
-        var me = this,
-            needJoin = me.needNodeJoin,
-            len = records.length,
-            record, i;
-
-        if(isMove) return;
-        me.getSelectionModel().deselect(records);
-        for(i=0; i<len; ++i){
-            record = records[i];
-            if(needJoin){
-                record.unjoin(store);
-            }
-
-            me.removeNodeFromRecord(record);
-        }
-    },
-
-    onStoreUpdate: function(store, record, op, modifiedFields, op){
-	var me = this,
-            node;
-        if(!me.rendered){
-            return;
-        }
-
-        node = me.getItemByRecord(record);
-        if(!node) return;
-
-        Ext.fly(node).setHTML(me.renderItem(me, record));
-
-        me.fireEvent('itemupdate', me, record, node);
-    },
-
-    onDataRefresh: function(){
-        this.refresh();
-    },
-
-    onStoreClear: function(){
-        if(this.rendered){
-            this.renderTpl.overwrite(this.el,{});
-        }
-    },
-
-    renderNodes: function(records, out){
-        var me = this,
-            len = records.length,
-            i;
-
-        for(i=0; i<len; ++i){
-            me.renderNode(records[i], out);
-        }
-	var elems = document.querySelectorAll('.task-item');
-        //console.log(elems);
-	//if(elems != [])
-        //alert(elems[0].outerHTML);
-        //me.onInlineExpanderClick(null, '<span id="ochart-1063-record-root" class="x-ochart-node-content task-item" data-recordid="root">');
-    },
-
-    renderNode: function(record, out){
-        var me = this,
-            tpl = me.nodeTpl,
-            value = {view: me, node: record, nodeId: me.getNodeId(record)};
-        if(out){
-            tpl.applyOut(value, out);
-        }
-        else return tpl.apply(value);
-    },
-
-    renderItem: function(view, record){
-        return view.itemTpl.apply(record.data);
-    },
-
-    /**
-     * Gets the selection model for this component.
-     * @return {Ext.selection.Model} The selection model
-     */
-    getSelectionModel: function(){
-        var me = this,
-            mode = 'SINGLE';
-
-        if (me.simpleSelect) {
-            mode = 'SIMPLE';
-        }
-        /*else if (me.multiSelect) {
-            mode = 'MULTI';
-        }*/
-
-        // No selModel specified, or it's just a config; Instantiate
-        if (!me.selModel || !me.selModel.events) {
-            me.selModel = new sitools.user.view.modules.datasetExplorerOchart.OChartModel(Ext.apply({
-                allowDeselect: me.allowDeselect,
-                mode: mode,
-                enableKeyNav: true,
-                deselectOnContainerClick: true
-            }, me.selModel));
-        }
-
-        if (!me.selModel.hasRelaySetup) {
-            me.relayEvents(me.selModel, [
-                'selectionchange', 'beforeselect', 'beforedeselect', 'select', 'deselect', 'focuschange'
-            ]);
-            me.selModel.hasRelaySetup = true;
-        }
-
-        // lock the selection model if user
-        // has disabled selection
-        if (me.disableSelection) {
-            me.selModel.locked = true;
-        }
-
-        return me.selModel;
-    },
-
-    /**
-     * Returns true if the passed node is selected, else false.
-     * @param {HTMLElement/Number/Ext.data.Model} node The node, node index or record to check
-     * @return {Boolean} True if selected, else false
-     * @since 2.3.0
-     */
-    isSelected : function(node) {
-        var r = this.getRecord(node);
-        return this.selModel.isSelected(r);
-    },
-
-    /**
-     * Handles buffered mouse over and out event
-     * @param {HtmlEvent} e The browser event
-     *
-     * @protected
-     */
-    onMouseOverOut: function(e) {
-        var me = this;
-
-        // Determining if we are entering or leaving view items is deferred until
-        // mouse move churn settles down.
-        me.lastMouseOverOutEvent.setEvent(e.browserEvent, true);
-        me.handleMouseOverOrOut(me.lastMouseOverOutEvent);
-    },
-
-    /**
-     * Handles the the mouse over and out events
-     *
-     * @param {HtmlEvent} e The browser event
-     * @protected
-     */
-    handleMouseOverOrOut: function(e) {
-        var me = this,
-            isMouseout = e.type === 'mouseout',
-            method = isMouseout ? e.getRelatedTarget : e.getTarget,
-            nowOverItem = method.call(e, me.itemSelector);
-
-        // If the mouse event of whatever type tells use that we are no longer over the current mouseOverItem...
-        if (!me.mouseOverItem || nowOverItem !== me.mouseOverItem) {
-
-            // First fire mouseleave for the item we just left
-            if (me.mouseOverItem) {
-                e.item = me.mouseOverItem;
-                e.newType = 'mouseleave';
-                me.handleEvent(e);
-            }
-
-            // If we are over an item, fire the mouseenter
-            me.mouseOverItem = nowOverItem;
-            if (me.mouseOverItem) {
-                e.item = me.mouseOverItem;
-                e.newType = 'mouseenter';
-                me.handleEvent(e);
-            }
-            else{
-                e.item = null;
-                me.handleEvent(e);
-            }
-        }
-        else  me.handleEvent(e);
-    },
-
-    /**
-     * Handle browser events and internal events
-     *
-     * @param e The event
-     *
-     * @protected
-     */
-    handleEvent: function(e) {
-        var me = this,
-            key = e.type == 'keydown' && e.getKey();
-
-        me.processUIEvent(e);
-
-        // After all listeners have processed the event, then unless the user is typing into an input field,
-        // prevent browser's default action on SPACE which is to focus the event's target element.
-        // Focusing causes the browser to attempt to scroll the element into view.
-        if (key === e.SPACE) {
-            if (!me.inputTagRe.test(e.getTarget().tagName)) {
-                e.stopEvent();
-            }
-        }
-    },
-
-    /**
-     * Try to process an UI event
-     *
-     * @param e
-     *
-     * @returns {Boolean} true if the event was processed
-     *
-     * @protected
-     */
-    processUIEvent: function(e) {
-        // If the target event has been removed from the body (data update causing view DOM to be updated),
-        // do not process. isAncestor uses native methods to check.
-        if (!Ext.getBody().isAncestor(e.target)) {
-            return;
-        }
-
-        var me = this,
-            item = e.getTarget(me.itemSelector),
-            map = this.statics().EventMap,
-            index, record,
-            type = e.type,
-            newType = e.type,
-            sm;
-
-
-        // If the event is a mouseover/mouseout event converted to a mouseenter/mouseleave,
-        // use that event type and ensure that the item is correct.
-        if (e.newType) {
-            newType = e.newType;
-            item = e.item;
-        }
-
-        // For keydown events, try to get either the last focused item or the selected item.
-        // If we have not focused an item, we'll just fire a container keydown event.
-        if (!item && type == 'keydown') {
-            sm = me.getSelectionModel();
-            record = sm.lastFocused || sm.getLastSelected();
-            if (record) {
-                item = me.getNode(record, true);
-            }
-        }
-
-        //node item event?
-        if (item) {
-            //get the record for the template element
-            if (!record) {
-                record = me.getRecord(item);
-            }
-
-            // It is possible for an event to arrive for which there is no record... this
-            // can happen with dblclick where the clicks are on removal actions (think a
-            // grid w/"delete row" action column)
-            if (!record) {
-                return false;
-            }
-
-            index = record.get('index');
-
-            //call event handlers
-            if((me['onBeforeItem' + map[newType]](record, item, index, e) === false) ||
-                (me.fireEvent('beforeitem' + newType, me, record, item, index, e) === false) ||
-                (me['onItem' + map[newType]](record, item, index, e) === false)
-                ) {
-                return false;
-            }
-
-            me.fireEvent('item' + newType, me, record, item, index, e);
-        }
-        else {
-            item = e.getTarget(me.expanderSelector, 1);
-            if(item) return false;
-            //container event handler
-            if((me.processContainerEvent(e) === false) ||
-                (me['onBeforeContainer' + map[type]](e) === false) ||
-                (me.fireEvent('beforecontainer' + type, me, e) === false) ||
-                (me['onContainer' + map[type]](e) === false)
-                ) {
-                return false;
-            }
-
-            me.fireEvent('container' + type, me, e);
-        }
-
-        return true;
-    },
-
-    // @private
-    setHighlightedItem: function(item){
-        var me = this,
-            highlighted = me.highlightedItem,
-            overItemCls = me.overItemCls,
-            beforeOverItemCls = me.beforeOverItemCls,
-            previous;
-
-        if (highlighted != item){
-            if (highlighted) {
-                Ext.fly(highlighted).removeCls(overItemCls);
-                previous = highlighted.previousSibling;
-                if (beforeOverItemCls && previous) {
-                    Ext.fly(previous).removeCls(beforeOverItemCls);
-                }
-                me.fireEvent('unhighlightitem', me, highlighted);
-            }
-
-            me.highlightedItem = item;
-
-            if (item) {
-                Ext.fly(item).addCls(me.overItemCls);
-                previous = item.previousSibling;
-                if (beforeOverItemCls && previous) {
-                    Ext.fly(previous).addCls(beforeOverItemCls);
-                }
-                me.fireEvent('highlightitem', me, item);
-            }
-        }
-    },
-
-    /**
-     * Highlights a given item in the View. This is called by the mouseover handler if {@link #overItemCls}
-     * and {@link #trackOver} are configured, but can also be called manually by other code, for instance to
-     * handle stepping through the list via keyboard navigation.
-     * @param {HTMLElement} item The item to highlight
-     */
-    highlightItem: function(item) {
-        this.setHighlightedItem(item);
-    },
-
-    /**
-     * Un-highlights the currently highlighted item, if any.
-     */
-    clearHighlight: function() {
-        this.setHighlightedItem(undefined);
-    },
-
-    // protected
-    onItemMouseEnter: function(record, item, index, e) {
-        var me = this,
-            h;
-
-        if(me.panning) return;
-
-        if (this.trackOver) {
-            this.highlightItem(item);
-        }
-
-        if(me.toolsVisible && !me.dragging){
-            if( !record.isLeaf() && record.isExpanded() && !record.isRoot() ){
-		me.expandTool.show();
-                me.expandTool.alignTo( item, 'bl-tl' );
-            }
-
-            if( !this.readOnly ){
-                if(!record.isRoot()){
-                    me.addBeforeTool.show();
-                    me.addBeforeTool.alignTo( item, 'r-l' );
-                    me.addAfterTool.show();
-                    me.addAfterTool.alignTo( item, 'l-r' );
-                    me.removeItemTool.show();
-                    me.removeItemTool.alignTo( item, 'br-tr' );
-                }
-                me.addChildTool.show();
-                me.addChildTool.alignTo( item, 't-b' );
-            }
-        }
-
-        me.lastOverItem = item;
-    },
-
-    // protected
-    onItemMouseLeave : function(record, item, index, e) {
-        if (this.trackOver) {
-            this.clearHighlight();
-        }
-    },
-
-    // protected, template methods
-    processContainerEvent: Ext.emptyFn,
-    processItemEvent: Ext.emptyFn,
-
-    onBeforeItemMouseOut: Ext.emptyFn,
-    onBeforeItemMouseOver: Ext.emptyFn,
-    onItemMouseOut: Ext.emptyFn,
-    onItemMouseOver: Ext.emptyFn,
-
-    onItemMouseDown: Ext.emptyFn,
-    onItemMouseUp: Ext.emptyFn,
-    onItemFocus: Ext.emptyFn,
-    onItemClick: function(record){
-        if(Ext.versions.extjs.isLessThan( '4.2.0' )){
-            this.focusNode(record);
-        }
-    },
-    onItemDblClick: Ext.emptyFn,
-    onItemContextMenu: Ext.emptyFn,
-    onItemKeyDown: Ext.emptyFn,
-    onBeforeItemMouseDown: Ext.emptyFn,
-    onBeforeItemMouseUp: Ext.emptyFn,
-    onBeforeItemFocus: Ext.emptyFn,
-    onBeforeItemMouseEnter: Ext.emptyFn,
-    onBeforeItemMouseLeave: Ext.emptyFn,
-    onBeforeItemClick: Ext.emptyFn,
-    onBeforeItemDblClick: Ext.emptyFn,
-    onBeforeItemContextMenu: Ext.emptyFn,
-    onBeforeItemKeyDown: Ext.emptyFn,
-
-    onExpanderMouseOver: Ext.emptyFn,
-    onExpanderMouseOut: Ext.emptyFn,
-
-    onInlineExpanderClick: function(e, t){
-        console.log(e);
-	console.log(t);
-	var me = this,
-            node = me.getNodeFromChildEl(t),
-            record,
-            item,
-            nodeRegion;
-
-        if(!node) return;
-
-        item = node.down(me.itemSelector);
-        record = me.getRecord(item);
-        if(!record) return;
-	console.log(record);
-        if(record.isExpanded()) me.collapse(record);
-        else me.expand(record);
-    },
-
-    onItemExpandClick: function(){
-        var me = this;
-        me.onInlineExpanderClick(null, me.lastOverItem);
-        me.hideTools();
-    },
-
-    hideTools: function(){
-        var me = this;
-        if(me.toolsVisible && me.expandTool){
-            me.expandTool.hide();
-            me.addBeforeTool.hide();
-            me.addAfterTool.hide();
-            me.addChildTool.hide();
-            me.removeItemTool.hide();
-            me.lastOverItem = null;
-        }
-    },
-
-    fireAddItem: function(item, where){
-        var me = this,
-            record;
-        if(!item) return;
-
-        record = me.getRecord(item)
-
-        me.fireEvent('additem', me, record, where, item);
-        me.hideTools();
-    },
-
-    onItemAddBeforeClick: function(){
-        var item = this.lastOverItem;
-        if(!item) return;
-        this.fireAddItem(item, 'before');
-    },
-
-    onItemAddAfterClick: function(){
-        var item = this.lastOverItem;
-        if(!item) return;
-        this.fireAddItem(item, 'after');
-    },
-
-    onItemAddChildClick: function(){
-        var item = this.lastOverItem;
-        if(!item) return;
-        this.fireAddItem(item, 'child');
-    },
-
-    onItemRemoveClick: function(){
-        var me = this,
-            item = this.lastOverItem,
-            record;
-
-        if(!item) return;
-
-        record = me.getRecord(item)
-
-        me.fireEvent('removeitem', me, record, item);
-        me.hideTools();
-    },
-
-    onPanning: function(e) {
-        var me = this;
-        e.stopEvent();
-
-        var x = e.getPageX(),
-            y = e.getPageY(),
-            xDelta = x - me.mouseX,
-            yDelta = y - me.mouseY;
-
-        me.scrollBy(-xDelta, -yDelta);
-        me.mouseX = x;
-        me.mouseY = y;
-    },
-
-    onFinishPanning: function(e) {
-        var me = this;
-        Ext.getBody().un('mousemove', me.onPanning, me);
-        Ext.getDoc().un('mouseup', me.onFinishPanning, me);
-
-        if (Ext.isIE || Ext.isGecko) {
-            Ext.getBody().un('mouseenter', me.onFinishPanning, me);
-        }
-
-        me.el.setStyle('cursor','default');
-
-        me.panning = false;
-    },
-
-    onContainerMouseDown: function(e){
-        var me = this;
-        me.mouseX = e.getPageX();
-        me.mouseY = e.getPageY();
-        Ext.getBody().on('mousemove', me.onPanning, me);
-        Ext.getDoc().on('mouseup', me.onFinishPanning, me);
-
-        // For IE (and FF if using frames), if you move mouse onto the browser chrome and release mouse button
-        // we won't know about it. Next time mouse enters the body, cancel any ongoing pan activity as a fallback.
-        if (Ext.isIE || Ext.isGecko) {
-            Ext.getBody().on('mouseenter', me.onFinishPanning, me);
-        }
-
-        me.el.setStyle('cursor','move');
-
-        me.panning = true;
-
-        // required for some weird chrome bug/behavior, when whole panel was scrolled-out
-        e.stopEvent();
-    },
-
-    onContainerMouseUp: Ext.emptyFn,
-
-    onContainerMouseOver: function(){
-        this.hideTools();
-    },
-    onContainerMouseOut: Ext.emptyFn,
-    onContainerClick: function(){
-        this.el.focus();
-    },
-    onContainerDblClick: Ext.emptyFn,
-    onContainerContextMenu: Ext.emptyFn,
-    onContainerKeyDown: Ext.emptyFn,
-    onBeforeContainerMouseDown: Ext.emptyFn,
-    onBeforeContainerMouseUp: Ext.emptyFn,
-    onBeforeContainerMouseOver: Ext.emptyFn,
-    onBeforeContainerMouseOut: Ext.emptyFn,
-    onBeforeContainerClick: Ext.emptyFn,
-    onBeforeContainerDblClick: Ext.emptyFn,
-    onBeforeContainerContextMenu: Ext.emptyFn,
-    onBeforeContainerKeyDown: Ext.emptyFn,
-
-    // invoked by the selection model to maintain visual UI cues
-    onItemSelect: function(record) {
-        var node = this.getNode(record);
-
-        if(node) {
-            Ext.fly(node).addCls(this.selectedItemCls);
-        }
-    },
-
-    // invoked by the selection model to maintain visual UI cues
-    onItemDeselect: function(record) {
-        var node = this.getNode(record);
-
-        if(node) {
-            Ext.fly(node).removeCls(this.selectedItemCls);
-        }
-    },
-
-    /**
-     * Gets the item CSS selector (node content)
-     *
-     * This is required by the selection model
-     * @returns {String} The CSS selector
-     */
-    getItemSelector: function() {
-        return this.itemSelector;
-    },
-
-    /**
-     * Focuses a node in the view.
-     * @param {Ext.data.Model} rec The record associated to the node that is to be focused.
-     */
-    focusNode: function(rec){
-        var me          = this,
-            //todo verificar se deve trazer o container do nó
-            //node        = me.getNode(rec, true),
-            node        = me.getNode(rec),
-            el          = me.el,
-            adjustmentY = 0,
-            adjustmentX = 0,
-            elRegion    = el.getRegion(),
-            nodeRegion;
-
-        // Viewable region must not include scrollbars, so use
-        // DOM client dimensions
-        elRegion.bottom = elRegion.top + el.dom.clientHeight;
-        elRegion.right = elRegion.left + el.dom.clientWidth;
-        if (node) {
-            nodeRegion = Ext.fly(node).getRegion();
-            // node is above
-            if (nodeRegion.top < elRegion.top) {
-                adjustmentY = nodeRegion.top - elRegion.top;
-                // node is below
-            } else if (nodeRegion.bottom > elRegion.bottom) {
-                adjustmentY = nodeRegion.bottom - elRegion.bottom;
-            }
-
-            // node is left
-            if (nodeRegion.left < elRegion.left) {
-                adjustmentX = nodeRegion.left - elRegion.left;
-                // node is right
-            } else if (nodeRegion.right > elRegion.right) {
-                adjustmentX = nodeRegion.right - elRegion.right;
-            }
-
-            if (adjustmentX || adjustmentY) {
-                me.scrollBy(adjustmentX, adjustmentY, false);
-            }
-            el.focus();
-        }
-    },
-
-    startDrag: function(){
-        this.dragging = true;
-    },
-
-    endDrag: function(){
-        this.dragging = false;
-    }
-});
-
diff --git a/Module_DatasetExplorerOchart_sitools2v3/OChartModel.js b/Module_DatasetExplorerOchart_sitools2v3/OChartModel.js
deleted file mode 100644
index 65c08d1..0000000
--- a/Module_DatasetExplorerOchart_sitools2v3/OChartModel.js
+++ /dev/null
@@ -1,289 +0,0 @@
-
-Ext.namespace('sitools.user.view.modules.datasetExplorerOchart');
-
-Ext.define( 'sitools.user.view.modules.datasetExplorerOchart.OChartModel', {
-    extend: 'Ext.selection.DataViewModel',
-
-    requires: [
-        'Ext.util.KeyNav',
-        'Ext.util.KeyMap'
-    ],
-
-    destroy: function(){
-        var me = this;
-        if(me.keyMap){
-            me.keyMap.destroy();
-        }
-
-        me.callParent(arguments);
-    },
-
-    /**
-     * Overwrites model refresh so it handles a Tree Store
-     */
-    refresh: function(){
-        var me = this,
-            store = me.store,
-            rec,
-            toBeSelected = [],
-            toBeReAdded = [],
-            oldSelections = me.getSelection(),
-            len = oldSelections.length,
-            view = me.view,
-            selection,
-            change,
-            i = 0,
-            lastFocused = me.getLastFocused();
-
-        // Not been bound yet.
-        if( !store ){
-            return;
-        }
-
-        // Add currently records to the toBeSelected list if present in the Store
-        // If they are not present, and pruneRemoved is false, we must still retain the record
-        for( ; i < len; i++ ){
-            selection = oldSelections[i];
-            if( view.getNode( selection ) ){
-                toBeSelected.push( selection );
-            }
-
-            // Selected records no longer represented in Store must be retained
-            else if( !me.pruneRemoved ){
-                // See if a record by the same ID exists. If so, select it
-                rec = store.getById( selection.getId() );
-                if( rec ){
-                    toBeSelected.push( rec );
-                }
-                // If it does not exist, we have to re-add it to the selection
-                else{
-                    toBeReAdded.push( selection )
-                }
-            }
-
-            // In single select mode, only one record may be selected
-            if( me.mode === 'SINGLE' && toBeReAdded.length ){
-                break;
-            }
-        }
-
-        // there was a change from the old selected and
-        // the new selection
-        if( me.selected.getCount() != (toBeSelected.length + toBeReAdded.length) ){
-            change = true;
-        }
-
-        me.clearSelections();
-
-        if( view.getNode( lastFocused ) ){
-            // restore the last focus but suppress restoring focus
-            me.setLastFocused( lastFocused, true );
-        }
-
-        if( toBeSelected.length ){
-            // perform the selection again
-            me.doSelect( toBeSelected, false, true );
-        }
-
-        // If some of the selections were not present in the Store, but pruneRemoved is false, we must add them back
-        if( toBeReAdded.length ){
-            me.selected.addAll( toBeReAdded );
-
-            // No records reselected.
-            if( !me.lastSelected ){
-                me.lastSelected = toBeReAdded[toBeReAdded.length - 1];
-            }
-        }
-
-        me.maybeFireSelectionChange( change );
-    },
-
-    /**
-     * Overwrites model deselectAll so it handles a Tree Store
-     */
-    deselectAll: function( suppressEvent ){
-        var me = this,
-            selections = me.getSelection(),
-            selIndexes = {},
-            store = me.store,
-            start = selections.length,
-            i, l, rec;
-
-        // Cache selection records' indexes first to avoid
-        // looking them up on every sort comparison below.
-        // We can't rely on store.indexOf being fast because
-        // for whatever reason the Store in question may force
-        // sequential index lookup, which will result in O(n^2)
-        // sort performance below.
-        for( i = 0, l = selections.length; i < l; i++ ){
-            rec = selections[i];
-
-            selIndexes[rec.internalId] = rec.get( 'index' );
-        }
-
-        // Sort the selections so that the events fire in
-        // a predictable order like selectAll
-        selections = Ext.Array.sort( selections, function( r1, r2 ){
-            var idx1 = selIndexes[r1.internalId],
-                idx2 = selIndexes[r2.internalId];
-
-            // Don't check for equality since indexes will be unique
-            return idx1 < idx2 ? -1 : 1;
-        } );
-
-        if(me.suspendChanges) me.suspendChanges();
-        me.doDeselect( selections, suppressEvent );
-        if(me.resumeChanges) me.resumeChanges();
-        // fire selection change only if the number of selections differs
-        if( !suppressEvent ){
-            me.maybeFireSelectionChange( me.getSelection().length !== start );
-        }
-    },
-
-    initKeyNav: function( view ){
-        var me = this;
-
-        if( !view.rendered ){
-            view.on( {
-                render: Ext.Function.bind( me.initKeyNav, me, [view] ),
-                single: true
-            } );
-            return;
-        }
-
-        view.el.set( {
-            tabIndex: -1
-        } );
-
-        me.keyNav = new Ext.util.KeyNav( {
-            target           : view.el,
-            ignoreInputFields: true,
-            down             : Ext.pass( me.onNavKey, ['down'], me ),
-            right            : Ext.pass( me.onNavKey, ['right'], me ),
-            left             : Ext.pass( me.onNavKey, ['left'], me ),
-            up               : Ext.pass( me.onNavKey, ['up'], me ),
-            scope            : me
-        } );
-
-        me.keyMap = Ext.create('Ext.util.KeyMap',  {
-            target : view.el,
-            binding : [
-                {
-                    key: Ext.EventObject.NUM_PLUS,
-                    ctrl: false,
-                    shift: false,
-                    fn: me.onKeyExpand,
-                    scope: me
-                }, {
-                    key: Ext.EventObject.NUM_MINUS,
-                    ctrl: false,
-                    shift: false,
-                    fn: me.onKeyCollapse,
-                    scope: me
-                }
-            ]
-        });
-    },
-
-    onNavKey: function( direction ){
-        var me = this,
-            view = me.view,
-            store = view.store,
-            selected = me.getLastSelected(),
-            root = view.getRootNode(),
-            record, node;
-
-        if( !selected ){
-            if(!root) return;
-
-            selected = root;
-            if(!view.rootVisible){
-                selected = root.firstChild;
-            }
-
-            if(selected){
-                me.select(selected);
-            }
-
-            return;
-        }
-
-        direction = direction || 'right';
-        switch( direction ){
-            case 'left':
-                record = selected.previousSibling;
-                break;
-            case 'right':
-                record = selected.nextSibling;
-                break;
-            case 'up':
-                if(selected == root){
-                    record = null;
-                    break;
-                }
-
-                record = selected.parentNode;
-
-                if(!view.rootVisible && record == root){
-                    record = null;
-                }
-                break;
-            case 'down':
-                record = selected.firstChild;
-                if(!record && !selected.isLeaf()){
-                    record = selected;
-                }
-                break;
-        }
-
-        if(!record) return;
-
-        if(direction == 'down' && !selected.isExpanded()){
-            selected.expand(false, function(rec){
-                me.select(record);
-                view.hideTools();
-                if(Ext.versions.extjs.isLessThan( '4.2.0' )){
-                    view.focusNode(record);
-                }
-            }, me);
-        }
-        else{
-            me.select(record);
-            view.hideTools();
-            if(Ext.versions.extjs.isLessThan( '4.2.0' )){
-                view.focusNode(record);
-            }
-        }
-    },
-
-    onKeyExpand: function(){
-        var me = this,
-            view = me.view,
-            selected = me.getSelection(),
-            len = selected.length,
-            i;
-
-        for(i = 0; i < len; ++i){
-            selected[i].expand();
-        }
-    },
-
-    onKeyCollapse: function(){
-        var me = this,
-            view = me.view,
-            selected = me.getSelection(),
-            len = selected.length,
-            i;
-
-        for(i = 0; i < len; ++i){
-            selected[i].collapse();
-        }
-    },
-
-    onContainerClick: function() {
-        if(!this.view.dragging && this.deselectOnContainerClick) {
-            this.deselectAll();
-        }
-    }
-} );
-
diff --git a/Module_DatasetExplorerOchart_sitools2v3/Ochart.css b/Module_DatasetExplorerOchart_sitools2v3/Ochart.css
deleted file mode 100644
index 865e72a..0000000
--- a/Module_DatasetExplorerOchart_sitools2v3/Ochart.css
+++ /dev/null
@@ -1,198 +0,0 @@
-/*Shuo DatasetExplorer Ochart*/
-
-.over-item-cls {
-    background-color: #ffedb3;
-    border-color: red !important;
-}
-.task-item {
-    border-color: green;
-    padding: 0;
-    text-align: left;
-}
-.task-item .item-title {
-    padding: 5px;
-    text-align: center;
-    font-weight: bold;
-}
-.task-item .item-title-rootnode {
-    font-size: 25px;
-}
-.task-item .item-title-node {
-    font-size: 15px;
-}
-.task-item .item-title-ds {
-    font-size: 11px;
-}
-
-.task-item > .item-body {
-    padding: 5px;
-}
-.task-item .item-img {
-    box-shadow: 0 0 3px 1px rgb(215, 215, 215);
-    height: 80px;
-    background-color: white;
-}
-.task-item .item-nb{
-    color: #999
-}
-.task-item {
-    box-shadow: 5px 5px 4px #888888;
-    border: none;
-}
-.task-item .item-icon{
-    background:url("/sitools/common/res/images/icons/tree_datasets_32.png") no-repeat center;
-    height:32px;
-}
-.x-ochart * {
-    background-attachment: scroll;
-    background-color: transparent;
-    background-image: none;
-    background-position: 0 0;
-    background-repeat: repeat-y;
-    border-collapse: collapse !important;
-    border-spacing: 0 !important;
-    box-sizing: content-box !important;
-    margin: 0;
-    padding: 0;
-}
-.x-ochart {
-    -moz-user-select: none;
-    text-align: center;
-}
-.x-ochart-wrap {
-    border-collapse: collapse !important;
-    border-spacing: 0 !important;
-    margin-top: 20px;
-    margin-left: auto;
-    margin-right: auto;
-    padding-top: 2px;
-    white-space: nowrap;
-}
-.x-ochart-node {
-    vertical-align: top !important;
-}
-.x-ochart-expander-row {
-    display: none !important;
-    text-align: center !important;
-}
-.x-ochart-expander {
-    background: url("/sitools/upload/ochart/ochart-tree.png") no-repeat scroll center center rgba(0, 0, 0, 0);
-    cursor: pointer !important;
-    display: inline-block;
-    height: 16px;
-    margin-left: 4px;
-    margin-top: -2px !important;
-    width: 16px;
-}
-.x-ochart-add {
-    background: url("/sitools/upload/ochart/ochart-add.png") no-repeat scroll center center rgba(0, 0, 0, 0);
-    cursor: pointer !important;
-    display: inline-block;
-    height: 16px;
-    margin-left: 2px;
-    margin-top: -2px;
-    width: 16px;
-}
-.x-ochart-remove {
-    background: url("/sitools/upload/ochart/ochart-remove.png") no-repeat scroll center center rgba(0, 0, 0, 0);
-    cursor: pointer !important;
-    display: inline-block;
-    height: 16px;
-    margin-left: 4px;
-    margin-top: -2px;
-    width: 16px;
-}
-.x-ochart-node.x-item-collapsed > table > tbody > .x-ochart-lines.x-ochart-children-lines, .x-ochart-node.x-item-collapsed > table > tbody > .x-ochart-container {
-    display: none !important;
-}
-.x-ochart-node.x-item-collapsed > table > tbody > .x-ochart-expander-row {
-    display: table-row !important;
-}
-.x-ochart-node-row {
-    padding: 0;
-    vertical-align: top;
-}
-.x-ochart-node-row > td {
-    text-align: center;
-}
-.x-ochart-node-content {
-    background-color: #D8D8D8;
-    border: 0px solid #888888;
-    border-radius: 5px;
-    cursor: pointer;
-    display: inline-block !important;
-    margin-top: -3px !important;
-    min-width: 48px;
-    padding: 0px;
-}
-.x-ochart-container {
-    vertical-align: top !important;
-}
-.x-ochart-left {
-    border-style: solid;
-    border-width: 0;
-    display: inline-block !important;
-    margin-top: -2px;
-    margin-bottom: 2px;
-    width: 50% !important;
-}
-.x-ochart-right {
-    border-style: solid;
-    border-width: 0;
-    display: inline-block !important;
-    margin-top: -2px;
-    margin-bottom: 2px;
-    width: 50% !important;
-}
-.x-ochart-lines.x-ochart-down .x-ochart-left, .x-ochart-lines.x-ochart-down .x-ochart-right {
-    border-top: 0 none;
-    margin-bottom: 2px;
-    margin-top: 0;
-}
-.x-ochart-lines > .x-ochart-first > .x-ochart-left {
-    border: 0 none;
-}
-.x-ochart-lines > .x-ochart-first > .x-ochart-right {
-    border-radius: 5px 0 0;
-}
-.x-ochart-lines > .x-ochart-last > .x-ochart-right {
-    border: 0 none;
-}
-.x-ochart-lines > .x-ochart-last > .x-ochart-left {
-    border-radius: 0 5px 0 0;
-    border-right: 2px solid black;
-}
-.x-ochart-node .x-item-selected {
-    !background-color: #b0eeff;
-}
-.x-ochart-ddindicator {
-    background: url("/sitools/upload/ochart/ochart-arrows.png") no-repeat scroll 0 0 transparent;
-    height: 16px;
-    width: 16px;
-}
-.x-ochart-ddindicator.before {
-    background-position: -48px center;
-}
-.x-ochart-ddindicator.after {
-    background-position: -16px center;
-}
-.x-ochart-ddindicator.append {
-    background-position: -32px center;
-}
-.x-ochart-over-node {
-    background-color: #ffedb3;
-    border-color: red !important;
-}
-.x-tip {
-    width: auto !important;
-}
-.x-tip-body {
-    width: auto !important;
-}
-.x-tip-body span {
-    width: auto !important;
-}
-
-
-
-/************************************/
diff --git a/Module_ProjectTimeline_sitools2/01082932-d2012e4c8e3b4bb096ce5acfd7a65343.png b/Module_ProjectTimeline_sitools2/01082932-d2012e4c8e3b4bb096ce5acfd7a65343.png
deleted file mode 100644
index 7905a73..0000000
Binary files a/Module_ProjectTimeline_sitools2/01082932-d2012e4c8e3b4bb096ce5acfd7a65343.png and /dev/null differ
diff --git a/Module_ProjectTimeline_sitools2/01082933-1be1e966854e4a4882f3acf477a614d0.png b/Module_ProjectTimeline_sitools2/01082933-1be1e966854e4a4882f3acf477a614d0.png
deleted file mode 100644
index 0de2887..0000000
Binary files a/Module_ProjectTimeline_sitools2/01082933-1be1e966854e4a4882f3acf477a614d0.png and /dev/null differ
diff --git a/Module_ProjectTimeline_sitools2/01082933-82252b55ed5548c4b9bdd107903d1e8a.png b/Module_ProjectTimeline_sitools2/01082933-82252b55ed5548c4b9bdd107903d1e8a.png
deleted file mode 100644
index d73d47c..0000000
Binary files a/Module_ProjectTimeline_sitools2/01082933-82252b55ed5548c4b9bdd107903d1e8a.png and /dev/null differ
diff --git a/Module_ProjectTimeline_sitools2/WeekTimeline.js b/Module_ProjectTimeline_sitools2/WeekTimeline.js
deleted file mode 100644
index 9b7c4bd..0000000
--- a/Module_ProjectTimeline_sitools2/WeekTimeline.js
+++ /dev/null
@@ -1,198 +0,0 @@
-Ext.namespace('sitools.user.modules.weekTimeline');
-sitools.user.modules.weekTimeline.createWeek= function (list){
-	var date=new Date(list[0].date);
-	switch(list[0].day){
-		case "Monday":
-			this.firstday=list[0].daynum;
-			this.firstdate=date;
-	        break;
-	    case "Tuesday":
-	    	this.firstday=list[0].daynum-1.0;
-	    	this.firstdate=new Date(date-24*60*60*1000);
-	        break;
-	    case "Wednesday":
-	    	this.firstday=list[0].daynum-2.0;
-	    	this.firstdate=new Date(date-2*24*60*60*1000);
-	        break;
-	    case "Thursday":
-	    	this.firstday=list[0].daynum-3.0;
-	    	this.firstdate=new Date(date-3*24*60*60*1000);
-	        break;
-	    case "Friday":
-	    	this.firstday=list[0].daynum-4.0;
-	    	this.firstdate=new Date(date-4*24*60*60*1000);
-	        break;
-	    case "Saturday":
-	    	this.firstday=list[0].daynum-5.0;
-	    	this.firstdate=new Date(date-5*24*60*60*1000);
-	        break;
-	    case "Sunday":
-	    	this.firstday=list[0].daynum-6.0;
-	    	this.firstdate=new Date(date-6*24*60*60*1000);
-	        break;
-	}
-	this.lastday=this.firstday+6.0;
-	this.lastdate=new Date();
-	this.lastdate.setFullYear(this.firstdate.getFullYear());
-	this.lastdate.setMonth(this.firstdate.getMonth());
-	this.lastdate.setDate(this.firstdate.getDate()+6);
-	this.text="";
-	this.activities=new Array();
-	for(var i=0;i<list.length;i++){
-		this.activities.push(new sitools.user.modules.timeline.createActivity(list[i]));
-		if(i==0){
-			this.text=this.text+list[i].text+"<br/>";
-		}else{
-			if(list[i].text!=list[i-1].text){
-				this.text=this.text+list[i].text+"<br/>";
-			}
-		}
-		
-	}
-	this.getFirstday=getFirstday;
-	function getFirstday(){
-		return this.firstday;
-	}
-	this.getLastday=getLastday;
-	function getLastday(){
-		return this.lastday;
-	}
-	this.getFirstdate=getFirstdate;
-	function getFirstdate(){
-		return this.firstdate;
-	}
-	this.getLastdate=getLastdate;
-	function getLastdate(){
-		return this.lastdate;
-	}
-	this.getText=getText;
-	function getText(){
-		return this.text;
-	}
-	this.getActivities=getActivities;
-	function getActivities(){
-		return this.activities;
-	}
-}
-sitools.user.modules.weekTimeline.prepareWeekTimeline= function (s,list){
-	var appendTo = Ext.get(s);
-	var container = Ext.get(Ext.DomHelper.append(appendTo,'<div id="timeline" align="center" class="timeline"></div>'));
-	container=Ext.get(Ext.DomHelper.append(container,"<ul id='lineul' class='timeline'/>"));
-	sitools.user.modules.weekTimeline.showActivity(list,container);
-}
-sitools.user.modules.weekTimeline.addWeekTimeline=function (list){
-	var container = Ext.get('lineul');
-	sitools.user.modules.weekTimeline.showActivity(list,container);
-}
-sitools.user.modules.weekTimeline.showActivity= function (weekList, ulObj){
-	var count=0;
-	for(var i=0; i<weekList.length;i++){
-		if(count%2!=1){
-			var liObj = Ext.DomHelper.append(ulObj, "<li/>");
-		}else{
-			var liObj = Ext.DomHelper.append(ulObj, "<li class='alt'/>");
-		}
-		var monday=weekList[i].getFirstdate().toDateString().split(" ");
-		var sunday=weekList[i].getLastdate().toDateString().split(" ");
-		Ext.DomHelper.append(liObj, 
-				"<div class='monday'>"+monday[1]+" "+monday[2]+" "+monday[3]+" -</div>"
-				+"<div class='sunday'>- "+sunday[1]+" "+sunday[2]+" "+sunday[3]+"</div>"
-				+"<div class='weeknumber'><strong>W "+(weekList[i].getFirstday()-40343.0)/7+"</strong></div>"
-				);
-		var contentObj=Ext.DomHelper.append(liObj,"<div class='preview' />");
-		var activities=weekList[i].getActivities();
-		var preObj=Ext.DomHelper.append(contentObj,"<pre class='nodata' onclick='sitools.user.modules.weekTimeline.viewDetail(this.parentNode);' style='height:200px;'></pre>");
-		var preObj=Ext.DomHelper.append(preObj,"<div class='activity_name'></div>");
-		for(var j=0;j<activities.length;j++){
-			if(j==0){
-				if(activities[j].haveData()){
-					Ext.DomHelper.append(preObj,"<div style='color:#F7FE2E'>"+activities[j].getText()+"</div>");
-				}else{
-					Ext.DomHelper.append(preObj,"<div>"+activities[j].getText()+"</div>");
-				}
-			}else{
-				if(activities[j].getText()!=activities[j-1].getText()){
-					if(activities[j].haveData()){
-						Ext.DomHelper.append(preObj,"<div style='color:#F7FE2E'>"+activities[j].getText()+"</div>");
-					}else{
-						Ext.DomHelper.append(preObj,"<div>"+activities[j].getText()+"</div>");
-					}
-				}
-			}
-		}
-		Ext.DomHelper.append(contentObj,"<div class='detail_button' onclick='sitools.user.modules.weekTimeline.viewDetail(this.parentNode);'><div class='img_detail'></div></div>");
-		var detailObj=Ext.DomHelper.append(liObj,"<div class='detail' style='display:none;' />");
-		var detailUlObj=Ext.get(Ext.DomHelper.append(detailObj,"<ul class='timeline' />"));
-		 var ruler1="<div class='ruler ruler1'>00:00:00</div>";
-                 var ruler2="<div class='ruler ruler2'>06:00:00</div>";
-                 var ruler3="<div class='ruler ruler3'>12:00:00</div>";
-                 var ruler4="<div class='ruler ruler4'>18:00:00</div>";
-                 var ruler5="<div class='ruler ruler5'>24:00:00</div>";
-		Ext.DomHelper.append(detailUlObj,ruler1);
-		Ext.DomHelper.append(detailUlObj,ruler2);
-		Ext.DomHelper.append(detailUlObj,ruler3);
-		Ext.DomHelper.append(detailUlObj,ruler4);
-		Ext.DomHelper.append(detailUlObj,ruler5);
-		sitools.user.modules.timeline.showActivity(weekList[i].getActivities(),detailUlObj);
-		Ext.DomHelper.append(detailObj,"<div class='close_button' onclick='sitools.user.modules.weekTimeline.backtoweek(this.parentNode);'><div class='img_close'></div></div>");
-		
-		count++;
-		
-	}
-}
-
-sitools.user.modules.weekTimeline.back=function(o){
-	o.parentNode.parentNode.scrollIntoView();
-	
-}
-
-sitools.user.modules.weekTimeline.viewDetail=function(o){
-	//Ext.get(o).hide();
-	o.style.display="none";
-	//o.nextSibling.style.display="block";
-	Ext.get(o.nextSibling).slideIn('t', {duration: 0.5 });
-	
-}
-sitools.user.modules.weekTimeline.backtoweek=function(o){
-	//Ext.get(o).slideOut('t',{duration: 0.5});
-	o.style.display="none";	
-	//o.previousSibling.style.display="block";
-	Ext.get(o.previousSibling).slideIn('t', {duration: 0.3 });
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Module_ProjectTimeline_sitools2/close-white.png b/Module_ProjectTimeline_sitools2/close-white.png
deleted file mode 100644
index 13b0354..0000000
Binary files a/Module_ProjectTimeline_sitools2/close-white.png and /dev/null differ
diff --git a/Module_ProjectTimeline_sitools2/projectTimeline.js b/Module_ProjectTimeline_sitools2/projectTimeline.js
deleted file mode 100644
index de9af23..0000000
--- a/Module_ProjectTimeline_sitools2/projectTimeline.js
+++ /dev/null
@@ -1,286 +0,0 @@
-/***************************************
-* Copyright 2010-2013 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
-* 
-* This file is part of SITools2.
-* 
-* SITools2 is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-* 
-* SITools2 is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-* GNU General Public License for more details.
-* 
-* You should have received a copy of the GNU General Public License
-* along with SITools2.  If not, see <http://www.gnu.org/licenses/>.
-***************************************/
-/*global Ext, sitools, projectGlobal, commonTreeUtils, showResponse, document, i18n, loadUrl, SITOOLS_DEFAULT_PROJECT_IMAGE_URL, SitoolsDesk*/
-/*
- * @include "../../env.js" 
- */
-Ext.namespace('sitools.user.modules');
-
-/**
- * Dataset Explorer Module.
- * Displays each dataset of the Project.
- * @class sitools.user.modules.datasetExplorerDataView
- * @extends Ext.tree.TreePanel
- */
-sitools.user.modules.projectTimeline = Ext.extend(Ext.Panel, {
-	layout : "border",
-	
-	initComponent : function () {
-		
-		var myDataView = new Ext.DataView({
-    		id : "line",
-            region : 'center',
-            singleSelect : true,
-            autoScroll : true,
-	    });
-    	this.items = [myDataView];
-    	var projectAttachment = projectGlobal.sitoolsAttachementForUsers;
-    	Ext.Ajax.request( {
-    		//url : '../js/modules/projectTimeline/timeline_picard.json',
-    		url: "/sitools/upload/timeline_picard.json",
-		method : "GET",
-			success : function(response, opts) {
-				var activityList = new Array();
-				var weekList=new Array();
-				var data= Ext.decode(response.responseText);
-				var i=0;
-				var nb=15;
-				var nbweek=30;
-				var selecteddata=null;
-				var actdata=null;
-				Ext.DomHelper.append(Ext.get('line'),"<div id='searchbox'/>");
-				Ext.DomHelper.append(Ext.get('searchbox'),"<div id='startbox'/>");
-				Ext.DomHelper.append(Ext.get('startbox')," From <input type='text' id='start' placeholder='first day: 2010/10/01'/> ");
-				Ext.DomHelper.append(Ext.get('searchbox'),"<div id='endbox'/>");
-				Ext.DomHelper.append(Ext.get('endbox')," To <input type='text' id='end' placeholder='last day: 2014/03/06'/> ");
-				Ext.DomHelper.append(Ext.get('searchbox')," <button id='search' type='button'> GO </button> ");
-				/*Ext.DomHelper.append(Ext.get('searchbox'),"<div id='data'/>");
-				Ext.DomHelper.append(Ext.get('data'),"<button id='all' >Show all the activities</button>");
-				Ext.DomHelper.append(Ext.get('data'),"<button id='withdata'>Show the activities with data</button>");
-				Ext.get('all').on("click", function () {
-						var start=document.getElementById('start').value;
-						var end=document.getElementById('end').value;
-						actdata=false;
-						select(start,end,actdata);
-			    });
-				Ext.get('withdata').on("click", function () {
-						var start=document.getElementById('start').value;
-						var end=document.getElementById('end').value;
-						actdata=true;
-						select(start,end,actdata);
-			    });*/
-				Ext.get('search').on("click", function () {
-					var start=document.getElementById('start').value;
-					var end=document.getElementById('end').value;
-					select(start,end);
-			    });
-				i=getweeks(i,nbweek);
-				//console.log(weekList);
-				sitools.user.modules.weekTimeline.prepareWeekTimeline('line',weekList);
-				weekList=new Array();
-				var appendTo = Ext.get('timeline');
-				Ext.get(Ext.DomHelper.append(appendTo,"<button id='more' type='button'> more </button>"));
-				var more=Ext.get('more');
-				more.on("click", function () {
-					if(selecteddata==null){
-						i=getweeks(i,nbweek);
-						sitools.user.modules.weekTimeline.addWeekTimeline(weekList);
-						weekList=new Array();
-					}
-					else {
-						i=getweeks(i,nbweek,selecteddata);
-						sitools.user.modules.weekTimeline.addWeekTimeline(weekList);
-						weekList=new Array();
-					}
-			    });
-				function getweeks(i,nbweek){
-					var selected=arguments[2]?arguments[2]:data.timeline;
-					var actdata=arguments[3]?arguments[3]:false;
-					var count=0;
-					var list=new Array();
-					var monday=0.0;
-					while(selected[i]){
-						if(count==nbweek){
-							return i;
-						}
-						else{
-							if(list.length==0){
-								monday=getMonday(selected[i]);
-							}
-							while(selected[i]&&selected[i].daynum-monday<7.0){
-								list.push(selected[i]);
-								i++;
-							}
-							//console.log(list);
-							var week=new sitools.user.modules.weekTimeline.createWeek(list);
-							list=new Array();
-							weekList.push(week);
-							if(selected[i]){
-								monday=getMonday(selected[i]);
-							}
-							count++;
-						}
-					}
-				}
-				function getMonday(day){
-					var monday=0.0;
-					
-					switch(day.day){
-					case "Monday":
-				        monday=day.daynum;
-				        break;
-				    case "Tuesday":
-				    	monday=day.daynum-1.0;
-				        break;
-				    case "Wednesday":
-				    	monday=day.daynum-2.0;
-				        break;
-				    case "Thursday":
-				    	monday=day.daynum-3.0;
-				        break;
-				    case "Friday":
-				    	monday=day.daynum-4.0;
-				        break;
-				    case "Saturday":
-				    	monday=day.daynum-5.0;
-				        break;
-				    case "Sunday":
-				    	monday=day.daynum-6.0;
-				        break;
-					}
-					return monday;
-				}
-				function select(start,end){
-					var actdata=arguments[2]?arguments[2]:false;
-					var i=0;
-					activityList = new Array();
-					Ext.get('timeline').remove();
-					var selecteddata=selectdate(start,end);
-					i=getweeks(i,nbweek,selecteddata,actdata);
-					//console.log(weekList);
-					sitools.user.modules.weekTimeline.prepareWeekTimeline('line',weekList);
-					weekList=new Array();
-					var appendTo = Ext.get('timeline');
-					Ext.get(Ext.DomHelper.append(appendTo,"<button id='more' type='button'> more </button>"));
-					more=Ext.get('more');
-					more.on("click", function () {
-						if(selecteddata==null) {
-							i=getweeks(i,nbweek);
-						}
-						else {
-							if(actdata){
-								//i=getactivity(i,nb,selecteddata,actdata);
-								//sitools.user.modules.timeline.addTimeline(activityList);
-								//activityList = new Array();
-							}else{
-								i=getweeks(i,nbweek,selecteddata);
-								sitools.user.modules.weekTimeline.addWeekTimeline(weekList);
-								weekList=new Array();
-							}
-						}
-				    });
-				}
-				function checkDate(d){
-					var dateArray = d.split('/');
-					if(dateArray.length!=3) return false;
-					var date = new Date(parseInt(dateArray[0]),parseInt(dateArray[1]-1),parseInt(dateArray[2]));
-					if ( Object.prototype.toString.call(date) !== "[object Date]" )
-    						return false;
-  					else return true;	
-				}	
-				
-				function selectdate(startdate,enddate){
-					var start=null;
-					var end=null;
-					if(startdate==''&&enddate==''){
-						return data.timeline;
-					}
-					if(startdate==''){
-						start = 0;	
-					}else{
-						if(!checkDate(startdate)){
-							alert('Wrong date for date begin!');
-							return data.timeline;
-						}
-					}
-					if(enddate==''){
-						end = data.timeline.length-1;
-					}else{
-						if(!checkDate(enddate)){
-							alert('Wrong date for date end!');
-							return data.timeline;
-						}
-					}
-					for(var n=0;n<data.timeline.length;n++){
-						if(start!=null&&end!=null) {break;}
-						if(start==null){
-						if(data.timeline[n].date>=startdate){
-							if(n==0){
-								start=n;
-							}else{
-								if(data.timeline[n-1].date<startdate)
-									start=n;
-							}
-						}}
-						if(end==null){
-						if(data.timeline[n].date<=enddate){
-							if(n==data.timeline.length-1){
-								end=n;
-							}else{
-								if(data.timeline[n+1].date>enddate){
-									end=n;
-								}
-							}
-						}}
-					}
-					if(start==null||end==null){
-						alert('Wrong date!');
-						return data.timeline;
-					}
-					if(start>end){
-						alert('Wrong date!');
-						return data.timeline;
-					}
-					//console.log(data.timeline.slice(start,end+1));
-					return data.timeline.slice(start,end+1);
-					
-				}
-			} , 
-			failure : function(response, opts) {          
-				alert("Error while loading data : "+response.responseText);                  
-			}
-		});	
-    
-		sitools.user.modules.projectTimeline.superclass.initComponent.call(this);
-	},
-	
-    afterRender : function () {
-    	sitools.user.modules.projectTimeline.superclass.afterRender.apply(this, arguments);
-        
-    },
-    /**
-     * method called when trying to save preference
-     * @returns
-     */
-    _getSettings : function () {
-		return {
-            preferencesPath : "/modules", 
-            preferencesFileName : this.id
-        };
-
-    }
-    
-});
-Ext.reg('sitools.user.modules.projectTimeline', sitools.user.modules.projectTimeline);
-
-
-
-
-
-
diff --git a/Module_ProjectTimeline_sitools2/projectTimeline_byday.js b/Module_ProjectTimeline_sitools2/projectTimeline_byday.js
deleted file mode 100644
index f5f52bc..0000000
--- a/Module_ProjectTimeline_sitools2/projectTimeline_byday.js
+++ /dev/null
@@ -1,231 +0,0 @@
-/***************************************
-* Copyright 2010-2013 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
-* 
-* This file is part of SITools2.
-* 
-* SITools2 is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-* 
-* SITools2 is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-* GNU General Public License for more details.
-* 
-* You should have received a copy of the GNU General Public License
-* along with SITools2.  If not, see <http://www.gnu.org/licenses/>.
-***************************************/
-/*global Ext, sitools, projectGlobal, commonTreeUtils, showResponse, document, i18n, loadUrl, SITOOLS_DEFAULT_PROJECT_IMAGE_URL, SitoolsDesk*/
-/*
- * @include "../../env.js" 
- */
-Ext.namespace('sitools.user.modules');
-
-/**
- * Dataset Explorer Module.
- * Displays each dataset of the Project.
- * @class sitools.user.modules.datasetExplorerDataView
- * @extends Ext.tree.TreePanel
- */
-sitools.user.modules.projectTimeline_byday = Ext.extend(Ext.Panel, {
-	layout : "border",
-	
-	initComponent : function () {
-		
-		var myDataView = new Ext.DataView({
-    		id : "line_byday",
-            region : 'center',
-            singleSelect : true,
-            autoScroll : true,
-	    });
-    	this.items = [myDataView];
-    	var projectAttachment = projectGlobal.sitoolsAttachementForUsers;
-    	Ext.Ajax.request( {
-    		url : '../js/modules/projectTimeline/timeline_picard.json',
-    		method : "GET",
-			success : function(response, opts) {
-				var activityList = new Array();
-				var data= Ext.decode(response.responseText);
-				var i=0;
-				var nb=15;
-				var selecteddata=null;
-				var actdata=null;
-				Ext.DomHelper.append(Ext.get('line_byday'),"<div id='searchbox'/>");
-				Ext.DomHelper.append(Ext.get('searchbox'),"<div id='startbox'/>");
-				Ext.DomHelper.append(Ext.get('startbox')," From <input type='text' id='start'/> ");
-				Ext.DomHelper.append(Ext.get('searchbox'),"<div id='endbox'/>");
-				Ext.DomHelper.append(Ext.get('endbox')," To <input type='text' id='end'/> ");
-				Ext.DomHelper.append(Ext.get('searchbox')," <button id='search' type='button'> GO </button> ");
-				Ext.DomHelper.append(Ext.get('searchbox'),"<div id='data'/>");
-				Ext.DomHelper.append(Ext.get('data'),"<button id='all' >Show all the activities</button>");
-				Ext.DomHelper.append(Ext.get('data'),"<button id='withdata'>Show the activities with data</button>");
-				Ext.get('all').on("click", function () {
-						var start=document.getElementById('start').value;
-						var end=document.getElementById('end').value;
-						actdata=false;
-						select(start,end,actdata);
-			    });
-				Ext.get('withdata').on("click", function () {
-						var start=document.getElementById('start').value;
-						var end=document.getElementById('end').value;
-						actdata=true;
-						select(start,end,actdata);
-			    });
-				Ext.get('search').on("click", function () {
-					var start=document.getElementById('start').value;
-					var end=document.getElementById('end').value;
-					select(start,end);
-			    });
-				
-    			i=getactivity(i,nb);
-				sitools.user.modules.timeline.prepareTimeline('line_byday',activityList);
-    			activityList = new Array();
-				var appendTo = Ext.get('timeline');
-				Ext.get(Ext.DomHelper.append(appendTo,"<button id='more' type='button'> more </button>"));
-				var more=Ext.get('more');
-				more.on("click", function () {
-					if(selecteddata==null){
-						i=getactivity(i,nb);
-						sitools.user.modules.timeline.addTimeline(activityList);
-						activityList = new Array();
-					}
-					else {
-						i=getactivity(i,nb,selecteddata);
-						sitools.user.modules.timeline.addTimeline(activityList);
-						activityList = new Array();
-					}
-			    });
-				
-				function select(start,end){
-					var actdata=arguments[2]?arguments[2]:false;
-					var i=0;
-					activityList = new Array();
-					Ext.get('timeline').remove();
-					var selecteddata=selectdate(start,end);
-					i=getactivity(i,nb,selecteddata,actdata);
-					console.log(activityList);
-					sitools.user.modules.timeline.prepareTimeline('line_byday',activityList);
-					activityList = new Array();
-					var appendTo = Ext.get('timeline');
-					Ext.get(Ext.DomHelper.append(appendTo,"<button id='more' type='button'> more </button>"));
-					more=Ext.get('more');
-					more.on("click", function () {
-						if(selecteddata==null) {
-							i=getactivity(i,nb);
-						}
-						else {
-							if(actdata){
-								i=getactivity(i,nb,selecteddata,actdata);
-								sitools.user.modules.timeline.addTimeline(activityList);
-								activityList = new Array();
-							}else{
-								i=getactivity(i,nb,selecteddata);
-								sitools.user.modules.timeline.addTimeline(activityList);
-								activityList = new Array();
-							}
-						}
-				    });
-				}
-				function getactivity(i,nb){
-					var selected=arguments[2]?arguments[2]:data.timeline;
-					var actdata=arguments[3]?arguments[3]:false;
-					var count=0;
-					while(selected[i]){
-						if((selected[i].data&&actdata)||!actdata){
-							var activity=new sitools.user.modules.timeline.createActivity(selected[i]);
-							if(activityList[0]){
-								if(activity.getDayCount()!=activityList[activityList.length-1].getDayCount()){
-									if(count==nb-1){
-										return i;
-									}else{
-										activityList.push(activity);
-										i++;
-										count++;
-									}
-								}else{
-									activityList.push(activity);
-									i++;
-								}
-							}else{
-								activityList.push(activity);
-								i++;
-							}
-						}else{
-							i++;
-						}
-					}
-					return i;
-				}
-				
-				function selectdate(startdate,enddate){
-					var start=null;
-					var end=null;
-					if(startdate==''&&enddate==''){
-						return data.timeline;
-					}
-					for(var n=0;n<data.timeline.length;n++){
-						if(start!=null&&end!=null) {break;}
-						if(data.timeline[n].date>=startdate){
-							if(n==0){
-								start=n;
-							}else{
-								if(data.timeline[n-1].date<startdate)
-									start=n;
-							}
-						}
-						if(data.timeline[n].date<=enddate){
-							if(n==data.timeline.length-1){
-								end=n;
-							}else{
-								if(data.timeline[n+1].date>enddate){
-									end=n;
-								}
-							}
-						}
-					}
-					if(start==null||end==null){
-						alert('Wrong date!');
-						return data.timeline;
-					}
-					if(start>end){
-						alert('Wrong date!');
-						return data.timeline;
-					}
-					//console.log(data.timeline.slice(start,end+1));
-					return data.timeline.slice(start,end+1);
-					
-				}
-			} , 
-			failure : function(response, opts) {          
-				alert("Error while loading data : "+response.responseText);                  
-			}
-		});	
-    
-		sitools.user.modules.projectTimeline_byday.superclass.initComponent.call(this);
-	},
-	
-    afterRender : function () {
-    	sitools.user.modules.projectTimeline_byday.superclass.afterRender.apply(this, arguments);
-        
-    },
-    /**
-     * method called when trying to save preference
-     * @returns
-     */
-    _getSettings : function () {
-		return {
-            preferencesPath : "/modules", 
-            preferencesFileName : this.id
-        };
-
-    }
-    
-});
-Ext.reg('sitools.user.modules.projectTimeline_byday', sitools.user.modules.projectTimeline_byday);
-
-
-
-
-
-
diff --git a/Module_ProjectTimeline_sitools2/timeline.css b/Module_ProjectTimeline_sitools2/timeline.css
deleted file mode 100644
index 383f39b..0000000
--- a/Module_ProjectTimeline_sitools2/timeline.css
+++ /dev/null
@@ -1,315 +0,0 @@
-
-#line {
-}
-div.detail ul {
-    width: 100%;
-}
-ul#lineul {
-    background: url("01082932-d2012e4c8e3b4bb096ce5acfd7a65343.png") repeat-y scroll 120px 0 rgba(0, 0, 0, 0);
-    margin-left: 403px;
-}
-#timeline {
-    margin-top: 160px;
-}
-ul.timeline {
-    list-style-type: none;
-    margin-left: 65px;
-    padding: 0;
-    width: 1200px;
-}
-ul.timeline li {
-    padding-bottom: 80px;
-    position: relative;
-}
-ul.timeline li.day {
-    background: url("01082932-d2012e4c8e3b4bb096ce5acfd7a65343.png") repeat-y scroll 120px 0 rgba(0, 0, 0, 0);
-    float: left;
-    margin-left: -120px;
-}
-ul.timeline li.lastday {
-    background: url("01082932-d2012e4c8e3b4bb096ce5acfd7a65343.png") repeat-y scroll 120px 0 rgba(0, 0, 0, 0);
-    /*margin-left: 209px;*/
-    width: 170px;
-}
-ul.timeline li .preview {
-    margin-left: -380px;
-    position: relative;
-    top: 65px;
-}
-ul.timeline li .detail {
-    margin-left: 134px;
-    position: relative;
-    top: 65px;
-}
-ul.timeline li .detail .content {
-    margin-left: 130px;
-    position: relative;
-    top: 65px;
-}
-ul.timeline li .preview pre {
-}
-pre {
-    border: 1px solid rgba(0, 0, 0, 0.15);
-    border-radius: 3px;
-    box-shadow: 3px 3px 5px #888888;
-    cursor: pointer;
-    display: block;
-    font-size: 12px;
-    line-height: 18px;
-    margin: 0;
-    padding: 0;
-    text-align: center;
-    transition: background-color 400ms ease 0s;
-    white-space: pre-wrap;
-    width: 550px;
-    word-wrap: break-word;
-    overflow:hidden;
-}
-pre:hover {
-    transition: background-color 400ms ease 0s;
-    overflow:auto;
-}
-.detail {
-    left: 0;
-    position: relative;
-}
-.detail pre {
-    position:relative;
-    width: 100px;
-    z-index:10;
-}
-.activity_name {
-  /*  display: table-cell;
-    vertical-align: middle;*/
-   !overflow:hidden;
-}
-.activity_name:hover{
-    
-}
-ul.timeline li .time {
-    color: #999999;
-    font-size: 10px;
-    left: 154px;
-    position: absolute;
-    text-align: left;
-    top: 10px;
-    width: 90px;
-}
-ul.timeline li .date {
-    color: #3594CB;
-    font-size: 11px;
-    left: 154px;
-    line-height: 50px;
-    overflow: hidden;
-    position: absolute;
-    text-align: left;
-    top: 15px;
-    width: 290px;
-}
-ul.timeline li .monday {
-    color: #3594CB;
-    font-size: 18px;
-    left: -197px;
-    line-height: 50px;
-    overflow: hidden;
-    position: absolute;
-    text-align: right;
-    top: 3px;
-    width: 290px;
-}
-ul.timeline li .sunday {
-    color: #3594CB;
-    font-size: 18px;
-    left: 156px;
-    line-height: 50px;
-    overflow: hidden;
-    position: absolute;
-    text-align: left;
-    top: 3px;
-    width: 290px;
-}
-ul.timeline li .number {
-    background: url("01082933-1be1e966854e4a4882f3acf477a614d0.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);
-    color: #FFFFFF;
-    font-size: 12px;
-    height: 56px;
-    left: 97px;
-    line-height: 56px;
-    position: absolute;
-    text-align: center;
-    width: 56px;
-}
-ul.timeline li .weeknumber {
-    background: url("01082933-1be1e966854e4a4882f3acf477a614d0.png") no-repeat scroll 0 0 / 60px 60px rgba(0, 0, 0, 0);
-    color: #FFFFFF;
-    font-size: 14px;
-    height: 60px;
-    left: 95px;
-    line-height: 60px;
-    position: absolute;
-    text-align: center;
-    width: 60px;
-}
-ul.timeline li.alt .number {
-    background-image: url("01082933-82252b55ed5548c4b9bdd107903d1e8a.png");
-}
-ul.timeline li .ruler {
-    left: 17px;
-}
-ul.timeline li .ruler1 {
-    position: absolute;
-    top: 60px;
-}
-ul.timeline li .ruler2 {
-    position: absolute;
-    top: 150px;
-}
-ul.timeline li .ruler3 {
-    position: absolute;
-    top: 240px;
-}
-ul.timeline li .ruler4 {
-    position: absolute;
-    top: 330px;
-}
-ul.timeline li .ruler5 {
-    position: absolute;
-    top: 420px;
-}
-.havedata {
-    background-color: #D7DF01;
-}
-.havedata:hover {
-    background-color: #F7FE2E;
-}
-.nodata {
-    background-color: #3594CB;
-    color: #FFFFFF;
-}
-.nodata:hover {
-    background-color: #43B1F1;
-}
-#more {
-    cursor: pointer;
-    font-size: 20px;
-    font-weight: bold;
-    height: 50px;
-    margin:50px auto 50px auto;
-    width: 100px;
-}
-#searchbox {
-    background-color: #86919F;
-    box-shadow: 5px 5px 5px #888888;
-    border-radius: 5px;
-    font-size: 15px;
-    font-weight: bold;
-    margin-left: 10px;
-    margin-top: 5px;
-    position: fixed;
-    width: 160px;
-    z-index: 11;
-}
-#startbox {
-    float: left;
-    padding-bottom: 5px;
-    padding-left: 10px;
-    padding-top: 18px;
-}
-#searchbox:hover {
-    background-color: #98A5B7;
-    transition: background-color 400ms ease 0s;
-}
-#endbox {
-    float: left;
-    padding-left: 10px;
-    padding-top: 5px;
-}
-#start {
-    width: 135px;
-}
-#end {
-    width: 135px;
-}
-#search {
-    cursor: pointer;
-    float: left;
-    font-size: 15px;
-    font-weight: bold;
-    margin-bottom: 20px;
-    margin-left: 10px;
-    margin-top: 18px;
-    width: 140px;
-}
-#data {
-    float: left;
-    margin-bottom: 20px;
-    margin-left: 10px;
-}
-#all {
-    cursor: pointer;
-    margin-left: 10px;
-    padding-left: 5px;
-    padding-right: 5px;
-}
-#withdata {
-    cursor: pointer;
-    margin-left: 10px;
-    padding-left: 5px;
-    padding-right: 5px;
-}
-.icongetdata {
-    cursor: pointer;
-    height: 26px;
-    vertical-align: top;
-    width: 26px;
-}
-.getdata {
-    float: right;
-    margin-right: 30px;
-}
-button {
-    cursor: pointer;
-}
-.detail_button {
-    background-color: #86919F;
-    !border: 1px solid #69727F;
-    border-radius: 3px;
-    box-shadow: 3px 3px 5px #888888;
-    color: #FFFFFF;
-    cursor: pointer;
-    margin-top: 5px;
-    padding-bottom: 5px;
-    padding-top: 5px;
-    width: 550px;
-}
-.detail_button:hover {
-    background-color: #98A5B7;
-    transition: background-color 400ms ease 0s;
-}
-.img_detail {
-    background: url("zoom.png") repeat scroll 0 0 / 28px 28px rgba(0, 0, 0, 0);
-    height: 28px;
-    width: 28px;
-}
-.close_button {
-    background-color: #86919F;
-    !border: 1px solid #69727F;
-    border-radius: 3px;
-    box-shadow: 3px 3px 5px #888888;
-    color: #FFFFFF;
-    cursor: pointer;
-    margin-left: -150px;
-    margin-top: 5px;
-    padding-bottom: 5px;
-    padding-top: 5px;
-    width: 720px;
-}
-.close_button:hover {
-    background-color: #98A5B7;
-    transition: background-color 400ms ease 0s;
-}
-.img_close {
-    background: url("close-white.png") repeat scroll 0 0 / 28px 28px rgba(0, 0, 0, 0);
-    height: 28px;
-    width: 28px;
-}
diff --git a/Module_ProjectTimeline_sitools2/timeline.js b/Module_ProjectTimeline_sitools2/timeline.js
deleted file mode 100644
index a2a8864..0000000
--- a/Module_ProjectTimeline_sitools2/timeline.js
+++ /dev/null
@@ -1,146 +0,0 @@
-Ext.namespace('sitools.user.modules.timeline');
-sitools.user.modules.timeline.prepareTimeline= function (s,list){
-	var appendTo = Ext.get(s);
-	var container = Ext.get(Ext.DomHelper.append(appendTo,'<div id="timeline" align="center" class="timeline"></div>'));
-	container=Ext.get(Ext.DomHelper.append(container,"<ul id='lineul' class='timeline'/>"));
-	sitools.user.modules.timeline.showActivity(list,container);
-}
-sitools.user.modules.timeline.addTimeline=function (list){
-	var container = Ext.get('lineul');
-	sitools.user.modules.timeline.showActivity(list,container);
-}
-sitools.user.modules.timeline.createActivity= function (activity){
-	this.daynum=activity.daynum;
-	this.text=activity.text;
-	this.date=activity.date;
-	this.day=activity.day;
-	this.dayCount=activity.daycount;
-	this.startTime=activity.starttime;
-	this.endTime=activity.endtime;
-	this.havedata=activity.data;
-	this.dataseturl=activity.dataseturl;
-	this.getDaynum=getDaynum;
-	function getDaynum(){
-		return this.daynum;
-	}
-	this.getURL=getURL;
-	function getURL(){
-		return this.dataseturl;
-	}
-	this.haveData=haveData;
-	function haveData(){
-		//alert(this.havedata);
-		return this.havedata;
-	}
-	this.getText=getText;
-	function getText(){
-		return this.text;
-	}
-	this.getDate=getDate;
-	function getDate(){
-		return this.date;
-	}
-	this.getDay=getDay;
-	function getDay(){
-		return this.day;
-	}
-	this.getDayCount=getDayCount;
-	function getDayCount(){
-		return this.dayCount;
-	}
-	this.getStartTime=getStartTime;
-	function getStartTime(){
-		return this.startTime;
-	}
-	this.getEndTime=getEndTime;
-	function getEndTime(){
-		return this.endTime;
-	}
-}
-
-sitools.user.modules.timeline.showActivity= function (activityList, ulObj){
-	var count=0;
-	//var value='/sodism/imagessingulieres/dco';
-	 for(var i=0; i<activityList.length;i++){
-		 var newactivitynodata="<pre class='nodata' style='height:"+((activityList[i].getEndTime().split(':')[0]-activityList[i].getStartTime().split(':')[0])*15-2)+"px;'><div class='activity_name'>"+activityList[i].getText()+/*" "+activityList[i].getStartTime()+"-"+activityList[i].getEndTime()+*/"</div></pre>";
-		 var newactivitydata="<pre class='havedata' style='height:"+((activityList[i].getEndTime().split(':')[0]-activityList[i].getStartTime().split(':')[0])*15-2)+"px;'"
-		 					 +"onClick='sitools.user.clickDatasetIcone(\"/picard\", \"search\",\""+activityList[i].getDate()+"\"+\"*\"+\""+activityList[i].getStartTime()+"\"+\"*\"+\""+activityList[i].getEndTime()+"\"); return false;'><div class='activity_name'>"
-		 					 +activityList[i].getText()+/*" "+activityList[i].getStartTime()+"-"+activityList[i].getEndTime()
-		 					 +*/"<div class='getdata'><img src='" + loadUrl.get('APP_URL')
-		 					 + "/common/res/images/icons/32x32/tree_datasets_32'></div>"
-		 					 /*+"<div class='getdata'><a href='#' onClick='sitools.user.clickDatasetIcone(\""+activityList[i].getURL()+"\", \"data\"); return false;'>"
-	                         +"<img class='icongetdata' src='" +loadUrl.get('APP_URL')
-	                         + "/common/res/images/icons/32x32/tree_datasets_32.png'>"
-	                         +"</a></div>" */
-	                         +"</div></pre>";
-		 var ruler1="<div class='ruler ruler1'>00:00:00</div>";
-		 var ruler2="<div class='ruler ruler2'>06:00:00</div>";
-		 var ruler3="<div class='ruler ruler3'>12:00:00</div>";
-		 var ruler4="<div class='ruler ruler4'>18:00:00</div>";
-		 var ruler5="<div class='ruler ruler5'>24:00:00</div>";
-			 if(i==0 || activityList[i].getDayCount()!=activityList[i-1].getDayCount()){
-				 count++;
-				 //if(count%2!=0){
-					 if(activityList[i].getDayCount()==activityList[activityList.length-1].getDayCount()) {var liObj = Ext.DomHelper.append(ulObj, "<li style='margin-left:"+(-1136+(count-1)*224)+"px;' class='lastday'/>");}
-				 	else {var liObj=Ext.DomHelper.append(ulObj, "<li class='day'/>");}
-				 //}else{
-					// var liObj = Ext.DomHelper.append(ulObj, "<li class='alt day'/>");
-				 //}
-				 Ext.DomHelper.append(liObj, 
-						"<div class='time'>"+activityList[i].getDay()+"</div>"
-						+"<div class='date'>"+activityList[i].getDate()+"</div>"
-						+"<div class='number'>"+activityList[i].getDayCount()+"</div>"
-						//+ruler1
-						/*+ruler2+ruler3+ruler4+ruler5*/
-						);
-				 var contentObj=Ext.DomHelper.append(liObj,"<div class='content'/>");
-				 if(activityList[i].getStartTime().split(':')[0]!=0)
-					 Ext.DomHelper.append(contentObj,"<pre style='height:"+((activityList[i].getStartTime().split(':')[0])*15-2)+"px;background-color: #D8D8D8;'></pre>");
-			
-				
-			 }
-			 else{
-				 if(activityList[i].getStartTime().split(':')[0]!=activityList[i-1].getEndTime().split(':')[0])
-					 Ext.DomHelper.append(contentObj,"<pre style='height:"+((activityList[i].getStartTime().split(':')[0]-activityList[i-1].getEndTime().split(':')[0])*15-2)+"px;background-color: #D8D8D8;'></pre>");
-			 } 
-			 //Ext.DomHelper.append(contentObj,newactivity);
-			 if(activityList[i].haveData()){
-				 //alert("hasdata");
-				 Ext.DomHelper.append(contentObj,newactivitydata);
-			 }else{
-				 //alert("nodata");
-				 Ext.DomHelper.append(contentObj,newactivitynodata);
-			 }
-			 if(i==activityList.length-1||activityList[i].getDayCount()!=activityList[i+1].getDayCount()){
-				/* if(activityList[i].getEndTime().split(':')[0]<=6){
-					 Ext.DomHelper.append(liObj,ruler2);
-					 if(activityList[i].getEndTime().split(':')[0]!=6){
-						 Ext.DomHelper.append(contentObj,"<pre style='height:"+((6-activityList[i].getEndTime().split(':')[0])*15-2)+"px;background-color: #D8D8D8;'></pre>");
-					 }
-				 }
-				 if(activityList[i].getEndTime().split(':')[0]<=12&&activityList[i].getEndTime().split(':')[0]>6){
-					 Ext.DomHelper.append(liObj,ruler2+ruler3);
-					 if(activityList[i].getEndTime().split(':')[0]!=12){
-						 Ext.DomHelper.append(contentObj,"<pre style='height:"+((12-activityList[i].getEndTime().split(':')[0])*15-2)+"px;background-color: #D8D8D8;'></pre>");
-					 }
-				 }
-				 if(activityList[i].getEndTime().split(':')[0]<=18&&activityList[i].getEndTime().split(':')[0]>12){
-					 Ext.DomHelper.append(liObj,ruler2+ruler3+ruler4);
-					 if(activityList[i].getEndTime().split(':')[0]!=18){
-						 Ext.DomHelper.append(contentObj,"<pre style='height:"+((18-activityList[i].getEndTime().split(':')[0])*15-2)+"px;background-color: #D8D8D8;'></pre>");
-					 }
-				 }
-				 if(activityList[i].getEndTime().split(':')[0]<=24&&activityList[i].getEndTime().split(':')[0]>18){
-					 Ext.DomHelper.append(liObj,ruler2+ruler3+ruler4+ruler5);
-					 if(activityList[i].getEndTime().split(':')[0]!=24){
-						 Ext.DomHelper.append(contentObj,"<pre style='height:"+((24-activityList[i].getEndTime().split(':')[0])*15-2)+"px;background-color: #D8D8D8;'></pre>");
-					 }
-				 }*/
-					 
-				 if(activityList[i].getEndTime().split(':')[0]!=24){
-					 Ext.DomHelper.append(contentObj,"<pre style='height:"+((24-activityList[i].getEndTime().split(':')[0])*15-2)+"px;background-color: #D8D8D8;'></pre>");
-				 }
-					 
-			 }
-	 }
-}
diff --git a/Module_ProjectTimeline_sitools2/timeline_picard.json b/Module_ProjectTimeline_sitools2/timeline_picard.json
deleted file mode 100644
index ee444e9..0000000
--- a/Module_ProjectTimeline_sitools2/timeline_picard.json
+++ /dev/null
@@ -1 +0,0 @@
-{"timeline":[{"daynum": 40452.0, "date": "2010/10/01", "day": "Friday", "daycount": "J+108", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40453.0, "date": "2010/10/02", "day": "Saturday", "daycount": "J+109", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40454.0, "date": "2010/10/03", "day": "Sunday", "daycount": "J+110", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40455.0, "date": "2010/10/04", "day": "Monday", "daycount": "J+111", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40456.0, "date": "2010/10/05", "day": "Tuesday", "daycount": "J+112", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40457.0, "date": "2010/10/06", "day": "Wednesday", "daycount": "J+113", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40458.0, "date": "2010/10/07", "day": "Thursday", "daycount": "J+114", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40459.0, "date": "2010/10/08", "day": "Friday", "daycount": "J+115", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40460.0, "date": "2010/10/09", "day": "Saturday", "daycount": "J+116", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40461.0, "date": "2010/10/10", "day": "Sunday", "daycount": "J+117", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40462.0, "date": "2010/10/11", "day": "Monday", "daycount": "J+118", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40463.0, "date": "2010/10/12", "day": "Tuesday", "daycount": "J+119", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40464.0, "date": "2010/10/13", "day": "Wednesday", "daycount": "J+120", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40465.0, "date": "2010/10/14", "day": "Thursday", "daycount": "J+121", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40466.0, "date": "2010/10/15", "day": "Friday", "daycount": "J+122", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40467.0, "date": "2010/10/16", "day": "Saturday", "daycount": "J+123", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40468.0, "date": "2010/10/17", "day": "Sunday", "daycount": "J+124", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40469.0, "date": "2010/10/18", "day": "Monday", "daycount": "J+125", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40470.0, "date": "2010/10/19", "day": "Tuesday", "daycount": "J+126", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40471.0, "date": "2010/10/20", "day": "Wednesday", "daycount": "J+127", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40472.0, "date": "2010/10/21", "day": "Thursday", "daycount": "J+128", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40473.0, "date": "2010/10/22", "day": "Friday", "daycount": "J+129", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40474.0, "date": "2010/10/23", "day": "Saturday", "daycount": "J+130", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40475.0, "date": "2010/10/24", "day": "Sunday", "daycount": "J+131", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40476.0, "date": "2010/10/25", "day": "Monday", "daycount": "J+132", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40477.0, "date": "2010/10/26", "day": "Tuesday", "daycount": "J+133", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40478.0, "date": "2010/10/27", "day": "Wednesday", "daycount": "J+134", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40479.0, "date": "2010/10/28", "day": "Thursday", "daycount": "J+135", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40480.0, "date": "2010/10/29", "day": "Friday", "daycount": "J+136", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40481.0, "date": "2010/10/30", "day": "Saturday", "daycount": "J+137", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40482.0, "date": "2010/10/31", "day": "Sunday", "daycount": "J+138", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40483.0, "date": "2010/11/01", "day": "Monday", "daycount": "J+139", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40484.0, "date": "2010/11/02", "day": "Tuesday", "daycount": "J+140", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40485.0, "date": "2010/11/03", "day": "Wednesday", "daycount": "J+141", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40486.0, "date": "2010/11/04", "day": "Thursday", "daycount": "J+142", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40487.0, "date": "2010/11/05", "day": "Friday", "daycount": "J+143", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40488.0, "date": "2010/11/06", "day": "Saturday", "daycount": "J+144", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40489.0, "date": "2010/11/07", "day": "Sunday", "daycount": "J+145", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40490.0, "date": "2010/11/08", "day": "Monday", "daycount": "J+146", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40491.0, "date": "2010/11/09", "day": "Tuesday", "daycount": "J+147", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40492.0, "date": "2010/11/10", "day": "Wednesday", "daycount": "J+148", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40493.0, "date": "2010/11/11", "day": "Thursday", "daycount": "J+149", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40494.0, "date": "2010/11/12", "day": "Friday", "daycount": "J+150", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40495.0, "date": "2010/11/13", "day": "Saturday", "daycount": "J+151", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40496.0, "date": "2010/11/14", "day": "Sunday", "daycount": "J+152", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40497.0, "date": "2010/11/15", "day": "Monday", "daycount": "J+153", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40498.0, "date": "2010/11/16", "day": "Tuesday", "daycount": "J+154", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40499.0, "date": "2010/11/17", "day": "Wednesday", "daycount": "J+155", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40500.0, "date": "2010/11/18", "day": "Thursday", "daycount": "J+156", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40501.0, "date": "2010/11/19", "day": "Friday", "daycount": "J+157", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40502.0, "date": "2010/11/20", "day": "Saturday", "daycount": "J+158", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40503.0, "date": "2010/11/21", "day": "Sunday", "daycount": "J+159", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40504.0, "date": "2010/11/22", "day": "Monday", "daycount": "J+160", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40505.0, "date": "2010/11/23", "day": "Tuesday", "daycount": "J+161", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40506.0, "date": "2010/11/24", "day": "Wednesday", "daycount": "J+162", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40507.0, "date": "2010/11/25", "day": "Thursday", "daycount": "J+163", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40508.0, "date": "2010/11/26", "day": "Friday", "daycount": "J+164", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40509.0, "date": "2010/11/27", "day": "Saturday", "daycount": "J+165", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40510.0, "date": "2010/11/28", "day": "Sunday", "daycount": "J+166", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40511.0, "date": "2010/11/29", "day": "Monday", "daycount": "J+167", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40512.0, "date": "2010/11/30", "day": "Tuesday", "daycount": "J+168", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40513.0, "date": "2010/12/01", "day": "Wednesday", "daycount": "J+169", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40514.0, "date": "2010/12/02", "day": "Thursday", "daycount": "J+170", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40515.0, "date": "2010/12/03", "day": "Friday", "daycount": "J+171", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40516.0, "date": "2010/12/04", "day": "Saturday", "daycount": "J+172", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40517.0, "date": "2010/12/05", "day": "Sunday", "daycount": "J+173", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40518.0, "date": "2010/12/06", "day": "Monday", "daycount": "J+174", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40519.0, "date": "2010/12/07", "day": "Tuesday", "daycount": "J+175", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40520.0, "date": "2010/12/08", "day": "Wednesday", "daycount": "J+176", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40521.0, "date": "2010/12/09", "day": "Thursday", "daycount": "J+177", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40522.0, "date": "2010/12/10", "day": "Friday", "daycount": "J+178", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40523.0, "date": "2010/12/11", "day": "Saturday", "daycount": "J+179", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40524.0, "date": "2010/12/12", "day": "Sunday", "daycount": "J+180", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40525.0, "date": "2010/12/13", "day": "Monday", "daycount": "J+181", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40526.0, "date": "2010/12/14", "day": "Tuesday", "daycount": "J+182", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40527.0, "date": "2010/12/15", "day": "Wednesday", "daycount": "J+183", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40528.0, "date": "2010/12/16", "day": "Thursday", "daycount": "J+184", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40529.0, "date": "2010/12/17", "day": "Friday", "daycount": "J+185", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40530.0, "date": "2010/12/18", "day": "Saturday", "daycount": "J+186", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40531.0, "date": "2010/12/19", "day": "Sunday", "daycount": "J+187", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40532.0, "date": "2010/12/20", "day": "Monday", "daycount": "J+188", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40533.0, "date": "2010/12/21", "day": "Tuesday", "daycount": "J+189", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40534.0, "date": "2010/12/22", "day": "Wednesday", "daycount": "J+190", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40535.0, "date": "2010/12/23", "day": "Thursday", "daycount": "J+191", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40536.0, "date": "2010/12/24", "day": "Friday", "daycount": "J+192", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40537.0, "date": "2010/12/25", "day": "Saturday", "daycount": "J+193", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40538.0, "date": "2010/12/26", "day": "Sunday", "daycount": "J+194", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40539.0, "date": "2010/12/27", "day": "Monday", "daycount": "J+195", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40540.0, "date": "2010/12/28", "day": "Tuesday", "daycount": "J+196", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40541.0, "date": "2010/12/29", "day": "Wednesday", "daycount": "J+197", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40542.0, "date": "2010/12/30", "day": "Thursday", "daycount": "J+198", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40543.0, "date": "2010/12/31", "day": "Friday", "daycount": "J+199", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40544.0, "date": "2011/01/01", "day": "Saturday", "daycount": "J+200", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40545.0, "date": "2011/01/02", "day": "Sunday", "daycount": "J+201", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40546.0, "date": "2011/01/03", "day": "Monday", "daycount": "J+202", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40548.0, "date": "2011/01/05", "day": "Wednesday", "daycount": "J+204", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40549.0, "date": "2011/01/06", "day": "Thursday", "daycount": "J+205", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40550.0, "date": "2011/01/07", "day": "Friday", "daycount": "J+206", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40551.0, "date": "2011/01/08", "day": "Saturday", "daycount": "J+207", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40552.0, "date": "2011/01/09", "day": "Sunday", "daycount": "J+208", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40553.0, "date": "2011/01/10", "day": "Monday", "daycount": "J+209", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40554.0, "date": "2011/01/11", "day": "Tuesday", "daycount": "J+210", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40555.0, "date": "2011/01/12", "day": "Wednesday", "daycount": "J+211", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40556.0, "date": "2011/01/13", "day": "Thursday", "daycount": "J+212", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40557.0, "date": "2011/01/14", "day": "Friday", "daycount": "J+213", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40558.0, "date": "2011/01/15", "day": "Saturday", "daycount": "J+214", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40559.0, "date": "2011/01/16", "day": "Sunday", "daycount": "J+215", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40560.0, "date": "2011/01/17", "day": "Monday", "daycount": "J+216", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40561.0, "date": "2011/01/18", "day": "Tuesday", "daycount": "J+217", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40562.0, "date": "2011/01/19", "day": "Wednesday", "daycount": "J+218", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40563.0, "date": "2011/01/20", "day": "Thursday", "daycount": "J+219", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40564.0, "date": "2011/01/21", "day": "Friday", "daycount": "J+220", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40565.0, "date": "2011/01/22", "day": "Saturday", "daycount": "J+221", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40566.0, "date": "2011/01/23", "day": "Sunday", "daycount": "J+222", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40567.0, "date": "2011/01/24", "day": "Monday", "daycount": "J+223", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40568.0, "date": "2011/01/25", "day": "Tuesday", "daycount": "J+224", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40569.0, "date": "2011/01/26", "day": "Wednesday", "daycount": "J+225", "starttime": "02:00:00", "endtime": "04:00:00", "text": "SODISM: Configuration Restoration", "data": 0.0}, {"daynum": 40570.0, "date": "2011/01/27", "day": "Thursday", "daycount": "J+226", "starttime": "09:00:00", "endtime": "12:00:00", "text": "SODISM: Specific images during last eclipses", "data": 0.0}, {"daynum": 40571.0, "date": "2011/01/28", "day": "Friday", "daycount": "J+227", "starttime": "09:00:00", "endtime": "12:00:00", "text": "SODISM: Specific images during last eclipses", "data": 0.0}, {"daynum": 40572.0, "date": "2011/01/29", "day": "Saturday", "daycount": "J+228", "starttime": "09:00:00", "endtime": "12:00:00", "text": "SODISM: Specific images during last eclipses", "data": 0.0}, {"daynum": 40573.0, "date": "2011/01/30", "day": "Sunday", "daycount": "J+229", "starttime": "09:00:00", "endtime": "12:00:00", "text": "SODISM: Specific images during last eclipses", "data": 0.0}, {"daynum": 40574.0, "date": "2011/01/31", "day": "Monday", "daycount": "J+230", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40575.0, "date": "2011/02/01", "day": "Tuesday", "daycount": "J+231", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40576.0, "date": "2011/02/02", "day": "Wednesday", "daycount": "J+232", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40577.0, "date": "2011/02/03", "day": "Thursday", "daycount": "J+233", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40578.0, "date": "2011/02/04", "day": "Friday", "daycount": "J+234", "starttime": "17:00:00", "endtime": "19:00:00", "text": "PREMOS: Science mode", "data": 0.0}, {"daynum": 40579.0, "date": "2011/02/05", "day": "Saturday", "daycount": "J+235", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40580.0, "date": "2011/02/06", "day": "Sunday", "daycount": "J+236", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40581.0, "date": "2011/02/07", "day": "Monday", "daycount": "J+237", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40582.0, "date": "2011/02/08", "day": "Tuesday", "daycount": "J+238", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40583.0, "date": "2011/02/09", "day": "Wednesday", "daycount": "J+239", "starttime": "00:00:00", "endtime": "15:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 215nm", "data": 0.0}, {"daynum": 40583.0, "date": "2011/02/09", "day": "Wednesday", "daycount": "J+239", "starttime": "16:00:00", "endtime": "24:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 393nm", "data": 0.0}, {"daynum": 40584.0, "date": "2011/02/10", "day": "Thursday", "daycount": "J+240", "starttime": "00:00:00", "endtime": "09:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 393nm", "data": 0.0}, {"daynum": 40584.0, "date": "2011/02/10", "day": "Thursday", "daycount": "J+240", "starttime": "10:00:00", "endtime": "24:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 535nm", "data": 0.0}, {"daynum": 40585.0, "date": "2011/02/11", "day": "Friday", "daycount": "J+241", "starttime": "00:00:00", "endtime": "15:00:00", "text": "SODISM M1 offset X and Y Calibration Lambda: 607nm", "data": 0.0}, {"daynum": 40585.0, "date": "2011/02/11", "day": "Friday", "daycount": "J+241", "starttime": "16:00:00", "endtime": "24:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 782nm", "data": 0.0}, {"daynum": 40586.0, "date": "2011/02/12", "day": "Saturday", "daycount": "J+242", "starttime": "00:00:00", "endtime": "09:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 782nm", "data": 0.0}, {"daynum": 40586.0, "date": "2011/02/12", "day": "Saturday", "daycount": "J+242", "starttime": "10:00:00", "endtime": "24:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: H\u00e9lio", "data": 0.0}, {"daynum": 40587.0, "date": "2011/02/13", "day": "Sunday", "daycount": "J+243", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40588.0, "date": "2011/02/14", "day": "Monday", "daycount": "J+244", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40589.0, "date": "2011/02/15", "day": "Tuesday", "daycount": "J+245", "starttime": "00:00:00", "endtime": "02:00:00", "text": "PREMOS: Science mode At 02:00:10", "data": 0.0}, {"daynum": 40590.0, "date": "2011/02/16", "day": "Wednesday", "daycount": "J+246", "starttime": "00:00:00", "endtime": "15:00:00", "text": "SODISM M1 Flatfield Lambda: 215 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40590.0, "date": "2011/02/16", "day": "Wednesday", "daycount": "J+246", "starttime": "16:00:00", "endtime": "24:00:00", "text": "SODISM M1 Flatfield Lambda: 393 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40591.0, "date": "2011/02/17", "day": "Thursday", "daycount": "J+247", "starttime": "00:00:00", "endtime": "09:00:00", "text": "SODISM M1 Flatfield Lambda: 393 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40591.0, "date": "2011/02/17", "day": "Thursday", "daycount": "J+247", "starttime": "10:00:00", "endtime": "24:00:00", "text": "SODISM M1 Flatfield Lambda: 535 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40592.0, "date": "2011/02/18", "day": "Friday", "daycount": "J+248", "starttime": "00:00:00", "endtime": "15:00:00", "text": "SODISM M1 Flatfield Lambda: 607 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40592.0, "date": "2011/02/18", "day": "Friday", "daycount": "J+248", "starttime": "16:00:00", "endtime": "24:00:00", "text": "SODISM M1 Flatfield Lambda: 782 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40593.0, "date": "2011/02/19", "day": "Saturday", "daycount": "J+249", "starttime": "00:00:00", "endtime": "09:00:00", "text": "SODISM M1 Flatfield Lambda: 782 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40593.0, "date": "2011/02/19", "day": "Saturday", "daycount": "J+249", "starttime": "10:00:00", "endtime": "24:00:00", "text": "SODISM M1 Flatfield Lambda: Helio (Mask 70 & 70)", "data": 0.0}, {"daynum": 40594.0, "date": "2011/02/20", "day": "Sunday", "daycount": "J+250", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40595.0, "date": "2011/02/21", "day": "Monday", "daycount": "J+251", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40596.0, "date": "2011/02/22", "day": "Tuesday", "daycount": "J+252", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40597.0, "date": "2011/02/23", "day": "Wednesday", "daycount": "J+253", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40598.0, "date": "2011/02/24", "day": "Thursday", "daycount": "J+254", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40599.0, "date": "2011/02/25", "day": "Friday", "daycount": "J+255", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40600.0, "date": "2011/02/26", "day": "Saturday", "daycount": "J+256", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40601.0, "date": "2011/02/27", "day": "Sunday", "daycount": "J+257", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40602.0, "date": "2011/02/28", "day": "Monday", "daycount": "J+258", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40603.0, "date": "2011/03/01", "day": "Tuesday", "daycount": "J+259", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40604.0, "date": "2011/03/02", "day": "Wednesday", "daycount": "J+260", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Exposure time Variation: 607 nm", "data": 0.0}, {"daynum": 40605.0, "date": "2011/03/03", "day": "Thursday", "daycount": "J+261", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40606.0, "date": "2011/03/04", "day": "Friday", "daycount": "J+262", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40607.0, "date": "2011/03/05", "day": "Saturday", "daycount": "J+263", "starttime": "00:00:00", "endtime": "05:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 215 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40607.0, "date": "2011/03/05", "day": "Saturday", "daycount": "J+263", "starttime": "05:00:00", "endtime": "10:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 393 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40607.0, "date": "2011/03/05", "day": "Saturday", "daycount": "J+263", "starttime": "10:00:00", "endtime": "15:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 535 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40607.0, "date": "2011/03/05", "day": "Saturday", "daycount": "J+263", "starttime": "15:00:00", "endtime": "20:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 607 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40607.0, "date": "2011/03/05", "day": "Saturday", "daycount": "J+263", "starttime": "20:00:00", "endtime": "24:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 782 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40608.0, "date": "2011/03/06", "day": "Sunday", "daycount": "J+264", "starttime": "00:00:00", "endtime": "01:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 782 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40608.0, "date": "2011/03/06", "day": "Sunday", "daycount": "J+264", "starttime": "01:00:00", "endtime": "06:00:00", "text": "SODISM M1 Flatfield With full images Lambda: Helio (Mask 70 & 70)", "data": 0.0}, {"daynum": 40608.0, "date": "2011/03/06", "day": "Sunday", "daycount": "J+264", "starttime": "06:00:00", "endtime": "24:00:00", "text": "SODISM M1 Flatfield With lens Lambda:782 nm", "data": 0.0}, {"daynum": 40609.0, "date": "2011/03/07", "day": "Monday", "daycount": "J+265", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40610.0, "date": "2011/03/08", "day": "Tuesday", "daycount": "J+266", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40611.0, "date": "2011/03/09", "day": "Wednesday", "daycount": "J+267", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40612.0, "date": "2011/03/10", "day": "Thursday", "daycount": "J+268", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40613.0, "date": "2011/03/11", "day": "Friday", "daycount": "J+269", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40614.0, "date": "2011/03/12", "day": "Saturday", "daycount": "J+270", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Test to alternate 535 Helio and Diameter filters (Mask 40 & 40)", "data": 0.0}, {"daynum": 40615.0, "date": "2011/03/13", "day": "Sunday", "daycount": "J+271", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40616.0, "date": "2011/03/14", "day": "Monday", "daycount": "J+272", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40617.0, "date": "2011/03/15", "day": "Tuesday", "daycount": "J+273", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40618.0, "date": "2011/03/16", "day": "Wednesday", "daycount": "J+274", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40619.0, "date": "2011/03/17", "day": "Thursday", "daycount": "J+275", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40620.0, "date": "2011/03/18", "day": "Friday", "daycount": "J+276", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40621.0, "date": "2011/03/19", "day": "Saturday", "daycount": "J+277", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Exposure time Variation: 535 nm (Helio)", "data": 0.0}, {"daynum": 40622.0, "date": "2011/03/20", "day": "Sunday", "daycount": "J+278", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Exposure time Variation: 393 nm", "data": 0.0}, {"daynum": 40623.0, "date": "2011/03/21", "day": "Monday", "daycount": "J+279", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40624.0, "date": "2011/03/22", "day": "Tuesday", "daycount": "J+280", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Exposure time Variation: 535 nm", "data": 0.0}, {"daynum": 40625.0, "date": "2011/03/23", "day": "Wednesday", "daycount": "J+281", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40626.0, "date": "2011/03/24", "day": "Thursday", "daycount": "J+282", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Exposure time Variation: 782", "data": 0.0}, {"daynum": 40627.0, "date": "2011/03/25", "day": "Friday", "daycount": "J+283", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Exposure time Variation: 215", "data": 0.0}, {"daynum": 40628.0, "date": "2011/03/26", "day": "Saturday", "daycount": "J+284", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Pointing M1: Calibrating Offsets", "data": 0.0}, {"daynum": 40629.0, "date": "2011/03/27", "day": "Sunday", "daycount": "J+285", "starttime": "00:00:00", "endtime": "04:00:00", "text": "SODISM Alternating CO/image/CO at 607 nm", "data": 0.0}, {"daynum": 40630.0, "date": "2011/03/28", "day": "Monday", "daycount": "J+286", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40631.0, "date": "2011/03/29", "day": "Tuesday", "daycount": "J+287", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Procedure to alternate 535 DL/782 DL (Duration: 1 day)", "data": 0.0}, {"daynum": 40632.0, "date": "2011/03/30", "day": "Wednesday", "daycount": "J+288", "starttime": "00:00:00", "endtime": "10:00:00", "text": "SODISM Exposure time variation: Dark current", "data": 0.0}, {"daynum": 40633.0, "date": "2011/03/31", "day": "Thursday", "daycount": "J+289", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40634.0, "date": "2011/04/01", "day": "Friday", "daycount": "J+290", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40635.0, "date": "2011/04/02", "day": "Saturday", "daycount": "J+291", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Pointing M1: Calibrating Offsets X offsets: 1884 Y offsets: 2153 Z offsets: 2048 Exposure time: defaut", "data": 0.0}, {"daynum": 40636.0, "date": "2011/04/03", "day": "Sunday", "daycount": "J+292", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40637.0, "date": "2011/04/04", "day": "Monday", "daycount": "J+293", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40638.0, "date": "2011/04/05", "day": "Tuesday", "daycount": "J+294", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40639.0, "date": "2011/04/06", "day": "Wednesday", "daycount": "J+295", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40640.0, "date": "2011/04/07", "day": "Thursday", "daycount": "J+296", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40641.0, "date": "2011/04/08", "day": "Friday", "daycount": "J+297", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40642.0, "date": "2011/04/09", "day": "Saturday", "daycount": "J+298", "starttime": "03:00:00", "endtime": "06:00:00", "text": "SODISM : Thermal configuration modification Table 005", "data": 0.0}, {"daynum": 40643.0, "date": "2011/04/10", "day": "Sunday", "daycount": "J+299", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40644.0, "date": "2011/04/11", "day": "Monday", "daycount": "J+300", "starttime": "05:00:00", "endtime": "15:00:00", "text": "SOVAP R10 MUX 9  Duration: ~7 days", "data": 0.0}, {"daynum": 40645.0, "date": "2011/04/12", "day": "Tuesday", "daycount": "J+301", "starttime": "00:00:00", "endtime": "02:00:00", "text": "PREMOS: Science mode", "data": 0.0}, {"daynum": 40646.0, "date": "2011/04/13", "day": "Wednesday", "daycount": "J+302", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Alternation Measurements controlled and non-controlled mode", "data": 0.0}, {"daynum": 40647.0, "date": "2011/04/14", "day": "Thursday", "daycount": "J+303", "starttime": "00:00:00", "endtime": "14:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: H\u00e9lio", "data": 0.0}, {"daynum": 40648.0, "date": "2011/04/15", "day": "Friday", "daycount": "J+304", "starttime": "00:00:00", "endtime": "14:00:00", "text": "SODISM M1 Flatfield Lambda: Helio (Mask 70 & 70)", "data": 0.0}, {"daynum": 40649.0, "date": "2011/04/16", "day": "Saturday", "daycount": "J+305", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Sequence of specific helioseismology measurements", "data": 0.0}, {"daynum": 40650.0, "date": "2011/04/17", "day": "Sunday", "daycount": "J+306", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Sequence of specific helioseismology measurements", "data": 0.0}, {"daynum": 40651.0, "date": "2011/04/18", "day": "Monday", "daycount": "J+307", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Sequence of specific helioseismology measurements", "data": 0.0}, {"daynum": 40652.0, "date": "2011/04/19", "day": "Tuesday", "daycount": "J+308", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40653.0, "date": "2011/04/20", "day": "Wednesday", "daycount": "J+309", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40654.0, "date": "2011/04/21", "day": "Thursday", "daycount": "J+310", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40655.0, "date": "2011/04/22", "day": "Friday", "daycount": "J+311", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40656.0, "date": "2011/04/23", "day": "Saturday", "daycount": "J+312", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40657.0, "date": "2011/04/24", "day": "Sunday", "daycount": "J+313", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40658.0, "date": "2011/04/25", "day": "Monday", "daycount": "J+314", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40659.0, "date": "2011/04/26", "day": "Tuesday", "daycount": "J+315", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40660.0, "date": "2011/04/27", "day": "Wednesday", "daycount": "J+316", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40661.0, "date": "2011/04/28", "day": "Thursday", "daycount": "J+317", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40662.0, "date": "2011/04/29", "day": "Friday", "daycount": "J+318", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40663.0, "date": "2011/04/30", "day": "Saturday", "daycount": "J+319", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40664.0, "date": "2011/05/01", "day": "Sunday", "daycount": "J+320", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40665.0, "date": "2011/05/02", "day": "Monday", "daycount": "J+321", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40666.0, "date": "2011/05/03", "day": "Tuesday", "daycount": "J+322", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40667.0, "date": "2011/05/04", "day": "Wednesday", "daycount": "J+323", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40668.0, "date": "2011/05/05", "day": "Thursday", "daycount": "J+324", "starttime": "00:00:00", "endtime": "14:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 215 nm", "data": 0.0}, {"daynum": 40669.0, "date": "2011/05/06", "day": "Friday", "daycount": "J+325", "starttime": "00:00:00", "endtime": "14:00:00", "text": "SODISM M1 Flatfield Lambda: 215 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40670.0, "date": "2011/05/07", "day": "Saturday", "daycount": "J+326", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40671.0, "date": "2011/05/08", "day": "Sunday", "daycount": "J+327", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40672.0, "date": "2011/05/09", "day": "Monday", "daycount": "J+328", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40673.0, "date": "2011/05/10", "day": "Tuesday", "daycount": "J+329", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40674.0, "date": "2011/05/11", "day": "Wednesday", "daycount": "J+330", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40675.0, "date": "2011/05/12", "day": "Thursday", "daycount": "J+331", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40676.0, "date": "2011/05/13", "day": "Friday", "daycount": "J+332", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40677.0, "date": "2011/05/14", "day": "Saturday", "daycount": "J+333", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40678.0, "date": "2011/05/15", "day": "Sunday", "daycount": "J+334", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40679.0, "date": "2011/05/16", "day": "Monday", "daycount": "J+335", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40680.0, "date": "2011/05/17", "day": "Tuesday", "daycount": "J+336", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40681.0, "date": "2011/05/18", "day": "Wednesday", "daycount": "J+337", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40682.0, "date": "2011/05/19", "day": "Thursday", "daycount": "J+338", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40683.0, "date": "2011/05/20", "day": "Friday", "daycount": "J+339", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40684.0, "date": "2011/05/21", "day": "Saturday", "daycount": "J+340", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40685.0, "date": "2011/05/22", "day": "Sunday", "daycount": "J+341", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40686.0, "date": "2011/05/23", "day": "Monday", "daycount": "J+342", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40687.0, "date": "2011/05/24", "day": "Tuesday", "daycount": "J+343", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40688.0, "date": "2011/05/25", "day": "Wednesday", "daycount": "J+344", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40689.0, "date": "2011/05/26", "day": "Thursday", "daycount": "J+345", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40690.0, "date": "2011/05/27", "day": "Friday", "daycount": "J+346", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40691.0, "date": "2011/05/28", "day": "Saturday", "daycount": "J+347", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40692.0, "date": "2011/05/29", "day": "Sunday", "daycount": "J+348", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40693.0, "date": "2011/05/30", "day": "Monday", "daycount": "J+349", "starttime": "06:00:00", "endtime": "09:00:00", "text": "SODISM: Improved MES (stellar) mode", "data": 0.0}, {"daynum": 40694.0, "date": "2011/05/31", "day": "Tuesday", "daycount": "J+350", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40696.0, "date": "2011/06/02", "day": "Thursday", "daycount": "J+352", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40697.0, "date": "2011/06/03", "day": "Friday", "daycount": "J+353", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40698.0, "date": "2011/06/04", "day": "Saturday", "daycount": "J+354", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40699.0, "date": "2011/06/05", "day": "Sunday", "daycount": "J+355", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40700.0, "date": "2011/06/06", "day": "Monday", "daycount": "J+356", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40701.0, "date": "2011/06/07", "day": "Tuesday", "daycount": "J+357", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40702.0, "date": "2011/06/08", "day": "Wednesday", "daycount": "J+358", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40703.0, "date": "2011/06/09", "day": "Thursday", "daycount": "J+359", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40704.0, "date": "2011/06/10", "day": "Friday", "daycount": "J+360", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40705.0, "date": "2011/06/11", "day": "Saturday", "daycount": "J+361", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40706.0, "date": "2011/06/12", "day": "Sunday", "daycount": "J+362", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40707.0, "date": "2011/06/13", "day": "Monday", "daycount": "J+363", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40708.0, "date": "2011/06/14", "day": "Tuesday", "daycount": "J+364", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40709.0, "date": "2011/06/15", "day": "Wednesday", "daycount": "J+365", "starttime": "12:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 40710.0, "date": "2011/06/16", "day": "Thursday", "daycount": "J+366", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 40711.0, "date": "2011/06/17", "day": "Friday", "daycount": "J+367", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 40712.0, "date": "2011/06/18", "day": "Saturday", "daycount": "J+368", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 40713.0, "date": "2011/06/19", "day": "Sunday", "daycount": "J+369", "starttime": "00:00:00", "endtime": "15:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 40714.0, "date": "2011/06/20", "day": "Monday", "daycount": "J+370", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40715.0, "date": "2011/06/21", "day": "Tuesday", "daycount": "J+371", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40716.0, "date": "2011/06/22", "day": "Wednesday", "daycount": "J+372", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40717.0, "date": "2011/06/23", "day": "Thursday", "daycount": "J+373", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40718.0, "date": "2011/06/24", "day": "Friday", "daycount": "J+374", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40719.0, "date": "2011/06/25", "day": "Saturday", "daycount": "J+375", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Variation of Z offsets", "data": 0.0}, {"daynum": 40720.0, "date": "2011/06/26", "day": "Sunday", "daycount": "J+376", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Variation of Z offsets", "data": 0.0}, {"daynum": 40721.0, "date": "2011/06/27", "day": "Monday", "daycount": "J+377", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40722.0, "date": "2011/06/28", "day": "Tuesday", "daycount": "J+378", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40723.0, "date": "2011/06/29", "day": "Wednesday", "daycount": "J+379", "starttime": "07:00:00", "endtime": "24:00:00", "text": "SODISM: CCD remanence", "data": 0.0}, {"daynum": 40724.0, "date": "2011/06/30", "day": "Thursday", "daycount": "J+380", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40725.0, "date": "2011/07/01", "day": "Friday", "daycount": "J+381", "starttime": "06:00:00", "endtime": "08:00:00", "text": "Special operations will be programmed", "data": 0.0}, {"daynum": 40726.0, "date": "2011/07/02", "day": "Saturday", "daycount": "J+382", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40727.0, "date": "2011/07/03", "day": "Sunday", "daycount": "J+383", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40728.0, "date": "2011/07/04", "day": "Monday", "daycount": "J+384", "starttime": "05:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535, DL images)", "data": 0.0}, {"daynum": 40729.0, "date": "2011/07/05", "day": "Tuesday", "daycount": "J+385", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535, DL images)", "data": 0.0}, {"daynum": 40730.0, "date": "2011/07/06", "day": "Wednesday", "daycount": "J+386", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40731.0, "date": "2011/07/07", "day": "Thursday", "daycount": "J+387", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40732.0, "date": "2011/07/08", "day": "Friday", "daycount": "J+388", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40733.0, "date": "2011/07/09", "day": "Saturday", "daycount": "J+389", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40734.0, "date": "2011/07/10", "day": "Sunday", "daycount": "J+390", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40735.0, "date": "2011/07/11", "day": "Monday", "daycount": "J+391", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40736.0, "date": "2011/07/12", "day": "Tuesday", "daycount": "J+392", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40737.0, "date": "2011/07/13", "day": "Wednesday", "daycount": "J+393", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535, RS images)", "data": 0.0}, {"daynum": 40738.0, "date": "2011/07/14", "day": "Thursday", "daycount": "J+394", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535, RS images)", "data": 0.0}, {"daynum": 40739.0, "date": "2011/07/15", "day": "Friday", "daycount": "J+395", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40740.0, "date": "2011/07/16", "day": "Saturday", "daycount": "J+396", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40741.0, "date": "2011/07/17", "day": "Sunday", "daycount": "J+397", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40742.0, "date": "2011/07/18", "day": "Monday", "daycount": "J+398", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40743.0, "date": "2011/07/19", "day": "Tuesday", "daycount": "J+399", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40744.0, "date": "2011/07/20", "day": "Wednesday", "daycount": "J+400", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40745.0, "date": "2011/07/21", "day": "Thursday", "daycount": "J+401", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40746.0, "date": "2011/07/22", "day": "Friday", "daycount": "J+402", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40747.0, "date": "2011/07/23", "day": "Saturday", "daycount": "J+403", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40748.0, "date": "2011/07/24", "day": "Sunday", "daycount": "J+404", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40749.0, "date": "2011/07/25", "day": "Monday", "daycount": "J+405", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40750.0, "date": "2011/07/26", "day": "Tuesday", "daycount": "J+406", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40751.0, "date": "2011/07/27", "day": "Wednesday", "daycount": "J+407", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40752.0, "date": "2011/07/28", "day": "Thursday", "daycount": "J+408", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40753.0, "date": "2011/07/29", "day": "Friday", "daycount": "J+409", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40754.0, "date": "2011/07/30", "day": "Saturday", "daycount": "J+410", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40755.0, "date": "2011/07/31", "day": "Sunday", "daycount": "J+411", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40756.0, "date": "2011/08/01", "day": "Monday", "daycount": "J+412", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40757.0, "date": "2011/08/02", "day": "Tuesday", "daycount": "J+413", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40758.0, "date": "2011/08/03", "day": "Wednesday", "daycount": "J+414", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40759.0, "date": "2011/08/04", "day": "Thursday", "daycount": "J+415", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40760.0, "date": "2011/08/05", "day": "Friday", "daycount": "J+416", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40761.0, "date": "2011/08/06", "day": "Saturday", "daycount": "J+417", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40762.0, "date": "2011/08/07", "day": "Sunday", "daycount": "J+418", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40763.0, "date": "2011/08/08", "day": "Monday", "daycount": "J+419", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40764.0, "date": "2011/08/09", "day": "Tuesday", "daycount": "J+420", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40765.0, "date": "2011/08/10", "day": "Wednesday", "daycount": "J+421", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40766.0, "date": "2011/08/11", "day": "Thursday", "daycount": "J+422", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40767.0, "date": "2011/08/12", "day": "Friday", "daycount": "J+423", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40768.0, "date": "2011/08/13", "day": "Saturday", "daycount": "J+424", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40769.0, "date": "2011/08/14", "day": "Sunday", "daycount": "J+425", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40770.0, "date": "2011/08/15", "day": "Monday", "daycount": "J+426", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40771.0, "date": "2011/08/16", "day": "Tuesday", "daycount": "J+427", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40772.0, "date": "2011/08/17", "day": "Wednesday", "daycount": "J+428", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40773.0, "date": "2011/08/18", "day": "Thursday", "daycount": "J+429", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40774.0, "date": "2011/08/19", "day": "Friday", "daycount": "J+430", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40775.0, "date": "2011/08/20", "day": "Saturday", "daycount": "J+431", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40776.0, "date": "2011/08/21", "day": "Sunday", "daycount": "J+432", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40777.0, "date": "2011/08/22", "day": "Monday", "daycount": "J+433", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40778.0, "date": "2011/08/23", "day": "Tuesday", "daycount": "J+434", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40779.0, "date": "2011/08/24", "day": "Wednesday", "daycount": "J+435", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40780.0, "date": "2011/08/25", "day": "Thursday", "daycount": "J+436", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40781.0, "date": "2011/08/26", "day": "Friday", "daycount": "J+437", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40782.0, "date": "2011/08/27", "day": "Saturday", "daycount": "J+438", "starttime": "08:00:00", "endtime": "13:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 215 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40783.0, "date": "2011/08/28", "day": "Sunday", "daycount": "J+439", "starttime": "08:00:00", "endtime": "13:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 393 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40784.0, "date": "2011/08/29", "day": "Monday", "daycount": "J+440", "starttime": "08:00:00", "endtime": "13:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 535 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40785.0, "date": "2011/08/30", "day": "Tuesday", "daycount": "J+441", "starttime": "08:00:00", "endtime": "13:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 607 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40786.0, "date": "2011/08/31", "day": "Wednesday", "daycount": "J+442", "starttime": "08:00:00", "endtime": "13:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 782 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40787.0, "date": "2011/09/01", "day": "Thursday", "daycount": "J+443", "starttime": "08:00:00", "endtime": "13:00:00", "text": "SODISM M1 Flatfield With full images Lambda: Helio (Mask 70 & 70)", "data": 0.0}, {"daynum": 40788.0, "date": "2011/09/02", "day": "Friday", "daycount": "J+444", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40789.0, "date": "2011/09/03", "day": "Saturday", "daycount": "J+445", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40790.0, "date": "2011/09/04", "day": "Sunday", "daycount": "J+446", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40791.0, "date": "2011/09/05", "day": "Monday", "daycount": "J+447", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40792.0, "date": "2011/09/06", "day": "Tuesday", "daycount": "J+448", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40793.0, "date": "2011/09/07", "day": "Wednesday", "daycount": "J+449", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40794.0, "date": "2011/09/08", "day": "Thursday", "daycount": "J+450", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40795.0, "date": "2011/09/09", "day": "Friday", "daycount": "J+451", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40796.0, "date": "2011/09/10", "day": "Saturday", "daycount": "J+452", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40797.0, "date": "2011/09/11", "day": "Sunday", "daycount": "J+453", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40798.0, "date": "2011/09/12", "day": "Monday", "daycount": "J+454", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40799.0, "date": "2011/09/13", "day": "Tuesday", "daycount": "J+455", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40800.0, "date": "2011/09/14", "day": "Wednesday", "daycount": "J+456", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40801.0, "date": "2011/09/15", "day": "Thursday", "daycount": "J+457", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40802.0, "date": "2011/09/16", "day": "Friday", "daycount": "J+458", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40803.0, "date": "2011/09/17", "day": "Saturday", "daycount": "J+459", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40804.0, "date": "2011/09/18", "day": "Sunday", "daycount": "J+460", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40805.0, "date": "2011/09/19", "day": "Monday", "daycount": "J+461", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40806.0, "date": "2011/09/20", "day": "Tuesday", "daycount": "J+462", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40807.0, "date": "2011/09/21", "day": "Wednesday", "daycount": "J+463", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40808.0, "date": "2011/09/22", "day": "Thursday", "daycount": "J+464", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40809.0, "date": "2011/09/23", "day": "Friday", "daycount": "J+465", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40810.0, "date": "2011/09/24", "day": "Saturday", "daycount": "J+466", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40811.0, "date": "2011/09/25", "day": "Sunday", "daycount": "J+467", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40812.0, "date": "2011/09/26", "day": "Monday", "daycount": "J+468", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40813.0, "date": "2011/09/27", "day": "Tuesday", "daycount": "J+469", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40814.0, "date": "2011/09/28", "day": "Wednesday", "daycount": "J+470", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40815.0, "date": "2011/09/29", "day": "Thursday", "daycount": "J+471", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40816.0, "date": "2011/09/30", "day": "Friday", "daycount": "J+472", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40817.0, "date": "2011/10/01", "day": "Saturday", "daycount": "J+473", "starttime": "08:00:00", "endtime": "12:00:00", "text": "SODISM: Improved MES (stellar) mode New images sequence", "data": 0.0}, {"daynum": 40818.0, "date": "2011/10/02", "day": "Sunday", "daycount": "J+474", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40819.0, "date": "2011/10/03", "day": "Monday", "daycount": "J+475", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40820.0, "date": "2011/10/04", "day": "Tuesday", "daycount": "J+476", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40821.0, "date": "2011/10/05", "day": "Wednesday", "daycount": "J+477", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40822.0, "date": "2011/10/06", "day": "Thursday", "daycount": "J+478", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40823.0, "date": "2011/10/07", "day": "Friday", "daycount": "J+479", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40824.0, "date": "2011/10/08", "day": "Saturday", "daycount": "J+480", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40825.0, "date": "2011/10/09", "day": "Sunday", "daycount": "J+481", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40826.0, "date": "2011/10/10", "day": "Monday", "daycount": "J+482", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40827.0, "date": "2011/10/11", "day": "Tuesday", "daycount": "J+483", "starttime": "00:00:00", "endtime": "05:00:00", "text": "SODISM: Configuration Restoration", "data": 0.0}, {"daynum": 40828.0, "date": "2011/10/12", "day": "Wednesday", "daycount": "J+484", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40829.0, "date": "2011/10/13", "day": "Thursday", "daycount": "J+485", "starttime": "00:00:00", "endtime": "05:00:00", "text": "SODISM: Configuration Restoration", "data": 0.0}, {"daynum": 40830.0, "date": "2011/10/14", "day": "Friday", "daycount": "J+486", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40831.0, "date": "2011/10/15", "day": "Saturday", "daycount": "J+487", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40832.0, "date": "2011/10/16", "day": "Sunday", "daycount": "J+488", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40833.0, "date": "2011/10/17", "day": "Monday", "daycount": "J+489", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40834.0, "date": "2011/10/18", "day": "Tuesday", "daycount": "J+490", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40835.0, "date": "2011/10/19", "day": "Wednesday", "daycount": "J+491", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40836.0, "date": "2011/10/20", "day": "Thursday", "daycount": "J+492", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40837.0, "date": "2011/10/21", "day": "Friday", "daycount": "J+493", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40838.0, "date": "2011/10/22", "day": "Saturday", "daycount": "J+494", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40839.0, "date": "2011/10/23", "day": "Sunday", "daycount": "J+495", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40840.0, "date": "2011/10/24", "day": "Monday", "daycount": "J+496", "starttime": "08:00:00", "endtime": "12:00:00", "text": "SODISM: Improved MES (stellar) mode New images sequence II", "data": 0.0}, {"daynum": 40841.0, "date": "2011/10/25", "day": "Tuesday", "daycount": "J+497", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40842.0, "date": "2011/10/26", "day": "Wednesday", "daycount": "J+498", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40843.0, "date": "2011/10/27", "day": "Thursday", "daycount": "J+499", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535, DL images)", "data": 0.0}, {"daynum": 40844.0, "date": "2011/10/28", "day": "Friday", "daycount": "J+500", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535, DL images)", "data": 0.0}, {"daynum": 40845.0, "date": "2011/10/29", "day": "Saturday", "daycount": "J+501", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40846.0, "date": "2011/10/30", "day": "Sunday", "daycount": "J+502", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40847.0, "date": "2011/10/31", "day": "Monday", "daycount": "J+503", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40848.0, "date": "2011/11/01", "day": "Tuesday", "daycount": "J+504", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40849.0, "date": "2011/11/02", "day": "Wednesday", "daycount": "J+505", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40850.0, "date": "2011/11/03", "day": "Thursday", "daycount": "J+506", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40851.0, "date": "2011/11/04", "day": "Friday", "daycount": "J+507", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40852.0, "date": "2011/11/05", "day": "Saturday", "daycount": "J+508", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40853.0, "date": "2011/11/06", "day": "Sunday", "daycount": "J+509", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40854.0, "date": "2011/11/07", "day": "Monday", "daycount": "J+510", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40855.0, "date": "2011/11/08", "day": "Tuesday", "daycount": "J+511", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40856.0, "date": "2011/11/09", "day": "Wednesday", "daycount": "J+512", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40857.0, "date": "2011/11/10", "day": "Thursday", "daycount": "J+513", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40858.0, "date": "2011/11/11", "day": "Friday", "daycount": "J+514", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40859.0, "date": "2011/11/12", "day": "Saturday", "daycount": "J+515", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40860.0, "date": "2011/11/13", "day": "Sunday", "daycount": "J+516", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40861.0, "date": "2011/11/14", "day": "Monday", "daycount": "J+517", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40862.0, "date": "2011/11/15", "day": "Tuesday", "daycount": "J+518", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40863.0, "date": "2011/11/16", "day": "Wednesday", "daycount": "J+519", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40864.0, "date": "2011/11/17", "day": "Thursday", "daycount": "J+520", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40865.0, "date": "2011/11/18", "day": "Friday", "daycount": "J+521", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40866.0, "date": "2011/11/19", "day": "Saturday", "daycount": "J+522", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40867.0, "date": "2011/11/20", "day": "Sunday", "daycount": "J+523", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40868.0, "date": "2011/11/21", "day": "Monday", "daycount": "J+524", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40869.0, "date": "2011/11/22", "day": "Tuesday", "daycount": "J+525", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40870.0, "date": "2011/11/23", "day": "Wednesday", "daycount": "J+526", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40871.0, "date": "2011/11/24", "day": "Thursday", "daycount": "J+527", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40873.0, "date": "2011/11/26", "day": "Saturday", "daycount": "J+529", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40874.0, "date": "2011/11/27", "day": "Sunday", "daycount": "J+530", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40875.0, "date": "2011/11/28", "day": "Monday", "daycount": "J+531", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40876.0, "date": "2011/11/29", "day": "Tuesday", "daycount": "J+532", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40877.0, "date": "2011/11/30", "day": "Wednesday", "daycount": "J+533", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40878.0, "date": "2011/12/01", "day": "Thursday", "daycount": "J+534", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40879.0, "date": "2011/12/02", "day": "Friday", "daycount": "J+535", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40880.0, "date": "2011/12/03", "day": "Saturday", "daycount": "J+536", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40881.0, "date": "2011/12/04", "day": "Sunday", "daycount": "J+537", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40882.0, "date": "2011/12/05", "day": "Monday", "daycount": "J+538", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40883.0, "date": "2011/12/06", "day": "Tuesday", "daycount": "J+539", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40884.0, "date": "2011/12/07", "day": "Wednesday", "daycount": "J+540", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40885.0, "date": "2011/12/08", "day": "Thursday", "daycount": "J+541", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40886.0, "date": "2011/12/09", "day": "Friday", "daycount": "J+542", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40887.0, "date": "2011/12/10", "day": "Saturday", "daycount": "J+543", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40888.0, "date": "2011/12/11", "day": "Sunday", "daycount": "J+544", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40889.0, "date": "2011/12/12", "day": "Monday", "daycount": "J+545", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40890.0, "date": "2011/12/13", "day": "Tuesday", "daycount": "J+546", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40891.0, "date": "2011/12/14", "day": "Wednesday", "daycount": "J+547", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40892.0, "date": "2011/12/15", "day": "Thursday", "daycount": "J+548", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40893.0, "date": "2011/12/16", "day": "Friday", "daycount": "J+549", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40894.0, "date": "2011/12/17", "day": "Saturday", "daycount": "J+550", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40895.0, "date": "2011/12/18", "day": "Sunday", "daycount": "J+551", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40896.0, "date": "2011/12/19", "day": "Monday", "daycount": "J+552", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40897.0, "date": "2011/12/20", "day": "Tuesday", "daycount": "J+553", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40898.0, "date": "2011/12/21", "day": "Wednesday", "daycount": "J+554", "starttime": "00:00:00", "endtime": "15:00:00", "text": "SODISM: MNO Procedure", "data": 0.0}, {"daynum": 40899.0, "date": "2011/12/22", "day": "Thursday", "daycount": "J+555", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40900.0, "date": "2011/12/23", "day": "Friday", "daycount": "J+556", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40901.0, "date": "2011/12/24", "day": "Saturday", "daycount": "J+557", "starttime": "00:00:00", "endtime": "08:00:00", "text": "SODISM: Variation exposure time 535D", "data": 0.0}, {"daynum": 40902.0, "date": "2011/12/25", "day": "Sunday", "daycount": "J+558", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40903.0, "date": "2011/12/26", "day": "Monday", "daycount": "J+559", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40904.0, "date": "2011/12/27", "day": "Tuesday", "daycount": "J+560", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40905.0, "date": "2011/12/28", "day": "Wednesday", "daycount": "J+561", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40906.0, "date": "2011/12/29", "day": "Thursday", "daycount": "J+562", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40907.0, "date": "2011/12/30", "day": "Friday", "daycount": "J+563", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40908.0, "date": "2011/12/31", "day": "Saturday", "daycount": "J+564", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40909.0, "date": "2012/01/01", "day": "Sunday", "daycount": "J+565", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40910.0, "date": "2012/01/02", "day": "Monday", "daycount": "J+566", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40911.0, "date": "2012/01/03", "day": "Tuesday", "daycount": "J+567", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40912.0, "date": "2012/01/04", "day": "Wednesday", "daycount": "J+568", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40913.0, "date": "2012/01/05", "day": "Thursday", "daycount": "J+569", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40914.0, "date": "2012/01/06", "day": "Friday", "daycount": "J+570", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40915.0, "date": "2012/01/07", "day": "Saturday", "daycount": "J+571", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40916.0, "date": "2012/01/08", "day": "Sunday", "daycount": "J+572", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40917.0, "date": "2012/01/09", "day": "Monday", "daycount": "J+573", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40918.0, "date": "2012/01/10", "day": "Tuesday", "daycount": "J+574", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40919.0, "date": "2012/01/11", "day": "Wednesday", "daycount": "J+575", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40920.0, "date": "2012/01/12", "day": "Thursday", "daycount": "J+576", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40921.0, "date": "2012/01/13", "day": "Friday", "daycount": "J+577", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40922.0, "date": "2012/01/14", "day": "Saturday", "daycount": "J+578", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40923.0, "date": "2012/01/15", "day": "Sunday", "daycount": "J+579", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40924.0, "date": "2012/01/16", "day": "Monday", "daycount": "J+580", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40925.0, "date": "2012/01/17", "day": "Tuesday", "daycount": "J+581", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40926.0, "date": "2012/01/18", "day": "Wednesday", "daycount": "J+582", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40927.0, "date": "2012/01/19", "day": "Thursday", "daycount": "J+583", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40928.0, "date": "2012/01/20", "day": "Friday", "daycount": "J+584", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40929.0, "date": "2012/01/21", "day": "Saturday", "daycount": "J+585", "starttime": "02:00:00", "endtime": "12:00:00", "text": "SODISM: Orbit variability 6 lambdas eclipse", "data": 0.0}, {"daynum": 40930.0, "date": "2012/01/22", "day": "Sunday", "daycount": "J+586", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40931.0, "date": "2012/01/23", "day": "Monday", "daycount": "J+587", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40932.0, "date": "2012/01/24", "day": "Tuesday", "daycount": "J+588", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40933.0, "date": "2012/01/25", "day": "Wednesday", "daycount": "J+589", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40934.0, "date": "2012/01/26", "day": "Thursday", "daycount": "J+590", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40935.0, "date": "2012/01/27", "day": "Friday", "daycount": "J+591", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40936.0, "date": "2012/01/28", "day": "Saturday", "daycount": "J+592", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40937.0, "date": "2012/01/29", "day": "Sunday", "daycount": "J+593", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40938.0, "date": "2012/01/30", "day": "Monday", "daycount": "J+594", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40939.0, "date": "2012/01/31", "day": "Tuesday", "daycount": "J+595", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40940.0, "date": "2012/02/01", "day": "Wednesday", "daycount": "J+596", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40941.0, "date": "2012/02/02", "day": "Thursday", "daycount": "J+597", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40942.0, "date": "2012/02/03", "day": "Friday", "daycount": "J+598", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40943.0, "date": "2012/02/04", "day": "Saturday", "daycount": "J+599", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40944.0, "date": "2012/02/05", "day": "Sunday", "daycount": "J+600", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40945.0, "date": "2012/02/06", "day": "Monday", "daycount": "J+601", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40946.0, "date": "2012/02/07", "day": "Tuesday", "daycount": "J+602", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40947.0, "date": "2012/02/08", "day": "Wednesday", "daycount": "J+603", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40948.0, "date": "2012/02/09", "day": "Thursday", "daycount": "J+604", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40949.0, "date": "2012/02/10", "day": "Friday", "daycount": "J+605", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with two consecutive sequences (wavelength ==> 535D and 535H nm)", "data": 0.0}, {"daynum": 40950.0, "date": "2012/02/11", "day": "Saturday", "daycount": "J+606", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with two consecutive sequences (wavelength ==> 535D and 535H nm)", "data": 0.0}, {"daynum": 40951.0, "date": "2012/02/12", "day": "Sunday", "daycount": "J+607", "starttime": "00:00:00", "endtime": "05:00:00", "text": "SODISM: MDO with two consecutive sequences (wavelength ==> 535D and 535H nm)", "data": 0.0}, {"daynum": 40952.0, "date": "2012/02/13", "day": "Monday", "daycount": "J+608", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40953.0, "date": "2012/02/14", "day": "Tuesday", "daycount": "J+609", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM:Remanence HL \u2013 CO", "data": 0.0}, {"daynum": 40954.0, "date": "2012/02/15", "day": "Wednesday", "daycount": "J+610", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM:Remanence HL \u2013 CO", "data": 0.0}, {"daynum": 40955.0, "date": "2012/02/16", "day": "Thursday", "daycount": "J+611", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM:Remanence HL \u2013 CO", "data": 0.0}, {"daynum": 40956.0, "date": "2012/02/17", "day": "Friday", "daycount": "J+612", "starttime": "00:00:00", "endtime": "14:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 215nm", "data": 0.0}, {"daynum": 40956.0, "date": "2012/02/17", "day": "Friday", "daycount": "J+612", "starttime": "16:00:00", "endtime": "24:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 393nm", "data": 0.0}, {"daynum": 40957.0, "date": "2012/02/18", "day": "Saturday", "daycount": "J+613", "starttime": "00:00:00", "endtime": "09:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 393nm", "data": 0.0}, {"daynum": 40957.0, "date": "2012/02/18", "day": "Saturday", "daycount": "J+613", "starttime": "10:00:00", "endtime": "24:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 535nm", "data": 0.0}, {"daynum": 40958.0, "date": "2012/02/19", "day": "Sunday", "daycount": "J+614", "starttime": "00:00:00", "endtime": "15:00:00", "text": "SODISM M1 offset X and Y Calibration Lambda: 607nm", "data": 0.0}, {"daynum": 40958.0, "date": "2012/02/19", "day": "Sunday", "daycount": "J+614", "starttime": "16:00:00", "endtime": "24:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 782nm", "data": 0.0}, {"daynum": 40959.0, "date": "2012/02/20", "day": "Monday", "daycount": "J+615", "starttime": "00:00:00", "endtime": "08:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 782nm", "data": 0.0}, {"daynum": 40959.0, "date": "2012/02/20", "day": "Monday", "daycount": "J+615", "starttime": "08:00:00", "endtime": "24:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: H\u00e9lio", "data": 0.0}, {"daynum": 40960.0, "date": "2012/02/21", "day": "Tuesday", "daycount": "J+616", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40961.0, "date": "2012/02/22", "day": "Wednesday", "daycount": "J+617", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM:Remanence 535HL- 2CO", "data": 0.0}, {"daynum": 40962.0, "date": "2012/02/23", "day": "Thursday", "daycount": "J+618", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM:Remanence 535HL- 2CO", "data": 0.0}, {"daynum": 40963.0, "date": "2012/02/24", "day": "Friday", "daycount": "J+619", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM:Remanence 535HL- 2CO", "data": 0.0}, {"daynum": 40964.0, "date": "2012/02/25", "day": "Saturday", "daycount": "J+620", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40965.0, "date": "2012/02/26", "day": "Sunday", "daycount": "J+621", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40966.0, "date": "2012/02/27", "day": "Monday", "daycount": "J+622", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40967.0, "date": "2012/02/28", "day": "Tuesday", "daycount": "J+623", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40968.0, "date": "2012/02/29", "day": "Wednesday", "daycount": "J+624", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40969.0, "date": "2012/03/01", "day": "Thursday", "daycount": "J+625", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40970.0, "date": "2012/03/02", "day": "Friday", "daycount": "J+626", "starttime": "00:00:00", "endtime": "18:00:00", "text": "SODISM Variation exposure time 607 control ON/OFF", "data": 0.0}, {"daynum": 40971.0, "date": "2012/03/03", "day": "Saturday", "daycount": "J+627", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40972.0, "date": "2012/03/04", "day": "Sunday", "daycount": "J+628", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with two consecutive sequences (wavelength ==> 535 DL nm)", "data": 0.0}, {"daynum": 40973.0, "date": "2012/03/05", "day": "Monday", "daycount": "J+629", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with two consecutive sequences (wavelength ==> 535 DL nm)", "data": 0.0}, {"daynum": 40974.0, "date": "2012/03/06", "day": "Tuesday", "daycount": "J+630", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40975.0, "date": "2012/03/07", "day": "Wednesday", "daycount": "J+631", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40976.0, "date": "2012/03/08", "day": "Thursday", "daycount": "J+632", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40977.0, "date": "2012/03/09", "day": "Friday", "daycount": "J+633", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40978.0, "date": "2012/03/10", "day": "Saturday", "daycount": "J+634", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40979.0, "date": "2012/03/11", "day": "Sunday", "daycount": "J+635", "starttime": "10:00:00", "endtime": "24:00:00", "text": "SODISM: MNO Procedure n\u00b02", "data": 0.0}, {"daynum": 40980.0, "date": "2012/03/12", "day": "Monday", "daycount": "J+636", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40981.0, "date": "2012/03/13", "day": "Tuesday", "daycount": "J+637", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40982.0, "date": "2012/03/14", "day": "Wednesday", "daycount": "J+638", "starttime": "04:00:00", "endtime": "08:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 215 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40983.0, "date": "2012/03/15", "day": "Thursday", "daycount": "J+639", "starttime": "04:00:00", "endtime": "08:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 393 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40984.0, "date": "2012/03/16", "day": "Friday", "daycount": "J+640", "starttime": "04:00:00", "endtime": "08:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 535 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40985.0, "date": "2012/03/17", "day": "Saturday", "daycount": "J+641", "starttime": "04:00:00", "endtime": "08:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 607 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40986.0, "date": "2012/03/18", "day": "Sunday", "daycount": "J+642", "starttime": "04:00:00", "endtime": "08:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 782 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40987.0, "date": "2012/03/19", "day": "Monday", "daycount": "J+643", "starttime": "04:00:00", "endtime": "08:00:00", "text": "SODISM M1 Flatfield With full images Lambda: Helio (Mask 70 & 70)", "data": 0.0}, {"daynum": 40988.0, "date": "2012/03/20", "day": "Tuesday", "daycount": "J+644", "starttime": "04:00:00", "endtime": "08:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 215 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40989.0, "date": "2012/03/21", "day": "Wednesday", "daycount": "J+645", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40990.0, "date": "2012/03/22", "day": "Thursday", "daycount": "J+646", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40991.0, "date": "2012/03/23", "day": "Friday", "daycount": "J+647", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40992.0, "date": "2012/03/24", "day": "Saturday", "daycount": "J+648", "starttime": "08:00:00", "endtime": "12:00:00", "text": "SODISM: Improved MES (stellar) mode New images sequence 2B", "data": 0.0}, {"daynum": 40993.0, "date": "2012/03/25", "day": "Sunday", "daycount": "J+649", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40994.0, "date": "2012/03/26", "day": "Monday", "daycount": "J+650", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40995.0, "date": "2012/03/27", "day": "Tuesday", "daycount": "J+651", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40996.0, "date": "2012/03/28", "day": "Wednesday", "daycount": "J+652", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40997.0, "date": "2012/03/29", "day": "Thursday", "daycount": "J+653", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40998.0, "date": "2012/03/30", "day": "Friday", "daycount": "J+654", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40999.0, "date": "2012/03/31", "day": "Saturday", "daycount": "J+655", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41000.0, "date": "2012/04/01", "day": "Sunday", "daycount": "J+656", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41001.0, "date": "2012/04/02", "day": "Monday", "daycount": "J+657", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41002.0, "date": "2012/04/03", "day": "Tuesday", "daycount": "J+658", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41003.0, "date": "2012/04/04", "day": "Wednesday", "daycount": "J+659", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41004.0, "date": "2012/04/05", "day": "Thursday", "daycount": "J+660", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41005.0, "date": "2012/04/06", "day": "Friday", "daycount": "J+661", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41006.0, "date": "2012/04/07", "day": "Saturday", "daycount": "J+662", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41007.0, "date": "2012/04/08", "day": "Sunday", "daycount": "J+663", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41008.0, "date": "2012/04/09", "day": "Monday", "daycount": "J+664", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41009.0, "date": "2012/04/10", "day": "Tuesday", "daycount": "J+665", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41010.0, "date": "2012/04/11", "day": "Wednesday", "daycount": "J+666", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41011.0, "date": "2012/04/12", "day": "Thursday", "daycount": "J+667", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41012.0, "date": "2012/04/13", "day": "Friday", "daycount": "J+668", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41013.0, "date": "2012/04/14", "day": "Saturday", "daycount": "J+669", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41014.0, "date": "2012/04/15", "day": "Sunday", "daycount": "J+670", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41015.0, "date": "2012/04/16", "day": "Monday", "daycount": "J+671", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Sequence of specific helioseismology measurements", "data": 0.0}, {"daynum": 41016.0, "date": "2012/04/17", "day": "Tuesday", "daycount": "J+672", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Sequence of specific helioseismology measurements", "data": 0.0}, {"daynum": 41017.0, "date": "2012/04/18", "day": "Wednesday", "daycount": "J+673", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Sequence of specific helioseismology measurements", "data": 0.0}, {"daynum": 41018.0, "date": "2012/04/19", "day": "Thursday", "daycount": "J+674", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41019.0, "date": "2012/04/20", "day": "Friday", "daycount": "J+675", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41020.0, "date": "2012/04/21", "day": "Saturday", "daycount": "J+676", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41021.0, "date": "2012/04/22", "day": "Sunday", "daycount": "J+677", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41022.0, "date": "2012/04/23", "day": "Monday", "daycount": "J+678", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41023.0, "date": "2012/04/24", "day": "Tuesday", "daycount": "J+679", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41024.0, "date": "2012/04/25", "day": "Wednesday", "daycount": "J+680", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41025.0, "date": "2012/04/26", "day": "Thursday", "daycount": "J+681", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41026.0, "date": "2012/04/27", "day": "Friday", "daycount": "J+682", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41027.0, "date": "2012/04/28", "day": "Saturday", "daycount": "J+683", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41028.0, "date": "2012/04/29", "day": "Sunday", "daycount": "J+684", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41029.0, "date": "2012/04/30", "day": "Monday", "daycount": "J+685", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41030.0, "date": "2012/05/01", "day": "Tuesday", "daycount": "J+686", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41031.0, "date": "2012/05/02", "day": "Wednesday", "daycount": "J+687", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41032.0, "date": "2012/05/03", "day": "Thursday", "daycount": "J+688", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with two consecutive sequences (wavelength ==> 535 DL nm)", "data": 0.0}, {"daynum": 41033.0, "date": "2012/05/04", "day": "Friday", "daycount": "J+689", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with two consecutive sequences (wavelength ==> 535 DL nm)", "data": 0.0}, {"daynum": 41034.0, "date": "2012/05/05", "day": "Saturday", "daycount": "J+690", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41035.0, "date": "2012/05/06", "day": "Sunday", "daycount": "J+691", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41036.0, "date": "2012/05/07", "day": "Monday", "daycount": "J+692", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41037.0, "date": "2012/05/08", "day": "Tuesday", "daycount": "J+693", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41038.0, "date": "2012/05/09", "day": "Wednesday", "daycount": "J+694", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41039.0, "date": "2012/05/10", "day": "Thursday", "daycount": "J+695", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41040.0, "date": "2012/05/11", "day": "Friday", "daycount": "J+696", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41041.0, "date": "2012/05/12", "day": "Saturday", "daycount": "J+697", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41042.0, "date": "2012/05/13", "day": "Sunday", "daycount": "J+698", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41043.0, "date": "2012/05/14", "day": "Monday", "daycount": "J+699", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41044.0, "date": "2012/05/15", "day": "Tuesday", "daycount": "J+700", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with two consecutive sequences (wavelength ==> 535 DL nm)", "data": 0.0}, {"daynum": 41045.0, "date": "2012/05/16", "day": "Wednesday", "daycount": "J+701", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with two consecutive sequences (wavelength ==> 535 DL nm)", "data": 0.0}, {"daynum": 41046.0, "date": "2012/05/17", "day": "Thursday", "daycount": "J+702", "starttime": "00:00:00", "endtime": "15:00:00", "text": "SODISM: MDO with two consecutive sequences (wavelength ==> 535 DL nm)", "data": 0.0}, {"daynum": 41046.0, "date": "2012/05/17", "day": "Thursday", "daycount": "J+702", "starttime": "19:00:00", "endtime": "24:00:00", "text": "SODISM: Stroke rate max 1 min.", "data": 0.0}, {"daynum": 41047.0, "date": "2012/05/18", "day": "Friday", "daycount": "J+703", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Stroke rate max 1 min.", "data": 0.0}, {"daynum": 41048.0, "date": "2012/05/19", "day": "Saturday", "daycount": "J+704", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Stroke rate max 1 min.", "data": 0.0}, {"daynum": 41049.0, "date": "2012/05/20", "day": "Sunday", "daycount": "J+705", "starttime": "00:00:00", "endtime": "16:00:00", "text": "SODISM: Stroke rate max 1 min.", "data": 0.0}, {"daynum": 41050.0, "date": "2012/05/21", "day": "Monday", "daycount": "J+706", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 0.0}, {"daynum": 41051.0, "date": "2012/05/22", "day": "Tuesday", "daycount": "J+707", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 0.0}, {"daynum": 41052.0, "date": "2012/05/23", "day": "Wednesday", "daycount": "J+708", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 0.0}, {"daynum": 41053.0, "date": "2012/05/24", "day": "Thursday", "daycount": "J+709", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 0.0}, {"daynum": 41054.0, "date": "2012/05/25", "day": "Friday", "daycount": "J+710", "starttime": "00:00:00", "endtime": "05:00:00", "text": "SODISM: Configuration Restoration", "data": 0.0}, {"daynum": 41054.0, "date": "2012/05/25", "day": "Friday", "daycount": "J+710", "starttime": "05:00:00", "endtime": "09:00:00", "text": "PREMOS: Science mode", "data": 0.0}, {"daynum": 41055.0, "date": "2012/05/26", "day": "Saturday", "daycount": "J+711", "starttime": "22:00:00", "endtime": "24:00:00", "text": "SODISM: Transit of Venus", "data": 0.0}, {"daynum": 41056.0, "date": "2012/05/27", "day": "Sunday", "daycount": "J+712", "starttime": "00:00:00", "endtime": "06:00:00", "text": "SODISM: Transit of Venus", "data": 0.0}, {"daynum": 41057.0, "date": "2012/05/28", "day": "Monday", "daycount": "J+713", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41058.0, "date": "2012/05/29", "day": "Tuesday", "daycount": "J+714", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41059.0, "date": "2012/05/30", "day": "Wednesday", "daycount": "J+715", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41060.0, "date": "2012/05/31", "day": "Thursday", "daycount": "J+716", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41061.0, "date": "2012/06/01", "day": "Friday", "daycount": "J+717", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41062.0, "date": "2012/06/02", "day": "Saturday", "daycount": "J+718", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41063.0, "date": "2012/06/03", "day": "Sunday", "daycount": "J+719", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41067.0, "date": "2012/06/07", "day": "Thursday", "daycount": "J+723", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41068.0, "date": "2012/06/08", "day": "Friday", "daycount": "J+724", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41069.0, "date": "2012/06/09", "day": "Saturday", "daycount": "J+725", "starttime": "02:00:00", "endtime": "04:00:00", "text": "PREMOS: Science mode", "data": 0.0}, {"daynum": 41070.0, "date": "2012/06/10", "day": "Sunday", "daycount": "J+726", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41071.0, "date": "2012/06/11", "day": "Monday", "daycount": "J+727", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41072.0, "date": "2012/06/12", "day": "Tuesday", "daycount": "J+728", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41073.0, "date": "2012/06/13", "day": "Wednesday", "daycount": "J+729", "starttime": "12:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41074.0, "date": "2012/06/14", "day": "Thursday", "daycount": "J+730", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41075.0, "date": "2012/06/15", "day": "Friday", "daycount": "J+731", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41076.0, "date": "2012/06/16", "day": "Saturday", "daycount": "J+732", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41077.0, "date": "2012/06/17", "day": "Sunday", "daycount": "J+733", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41078.0, "date": "2012/06/18", "day": "Monday", "daycount": "J+734", "starttime": "00:00:00", "endtime": "15:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41079.0, "date": "2012/06/19", "day": "Tuesday", "daycount": "J+735", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41080.0, "date": "2012/06/20", "day": "Wednesday", "daycount": "J+736", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41081.0, "date": "2012/06/21", "day": "Thursday", "daycount": "J+737", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41082.0, "date": "2012/06/22", "day": "Friday", "daycount": "J+738", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41083.0, "date": "2012/06/23", "day": "Saturday", "daycount": "J+739", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41084.0, "date": "2012/06/24", "day": "Sunday", "daycount": "J+740", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41085.0, "date": "2012/06/25", "day": "Monday", "daycount": "J+741", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41086.0, "date": "2012/06/26", "day": "Tuesday", "daycount": "J+742", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41087.0, "date": "2012/06/27", "day": "Wednesday", "daycount": "J+743", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41088.0, "date": "2012/06/28", "day": "Thursday", "daycount": "J+744", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41089.0, "date": "2012/06/29", "day": "Friday", "daycount": "J+745", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41090.0, "date": "2012/06/30", "day": "Saturday", "daycount": "J+746", "starttime": "02:00:00", "endtime": "04:00:00", "text": "PREMOS: Science mode", "data": 0.0}, {"daynum": 41091.0, "date": "2012/07/01", "day": "Sunday", "daycount": "J+747", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41092.0, "date": "2012/07/02", "day": "Monday", "daycount": "J+748", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41093.0, "date": "2012/07/03", "day": "Tuesday", "daycount": "J+749", "starttime": "00:00:00", "endtime": "02:00:00", "text": "PREMOS: Dark current all filter radiometers", "data": 0.0}, {"daynum": 41094.0, "date": "2012/07/04", "day": "Wednesday", "daycount": "J+750", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535, DL images)", "data": 0.0}, {"daynum": 41095.0, "date": "2012/07/05", "day": "Thursday", "daycount": "J+751", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535, DL images)", "data": 0.0}, {"daynum": 41096.0, "date": "2012/07/06", "day": "Friday", "daycount": "J+752", "starttime": "00:00:00", "endtime": "03:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535, DL images)", "data": 0.0}, {"daynum": 41097.0, "date": "2012/07/07", "day": "Saturday", "daycount": "J+753", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41098.0, "date": "2012/07/08", "day": "Sunday", "daycount": "J+754", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41099.0, "date": "2012/07/09", "day": "Monday", "daycount": "J+755", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41100.0, "date": "2012/07/10", "day": "Tuesday", "daycount": "J+756", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41101.0, "date": "2012/07/11", "day": "Wednesday", "daycount": "J+757", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41102.0, "date": "2012/07/12", "day": "Thursday", "daycount": "J+758", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41103.0, "date": "2012/07/13", "day": "Friday", "daycount": "J+759", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41104.0, "date": "2012/07/14", "day": "Saturday", "daycount": "J+760", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41105.0, "date": "2012/07/15", "day": "Sunday", "daycount": "J+761", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41106.0, "date": "2012/07/16", "day": "Monday", "daycount": "J+762", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41107.0, "date": "2012/07/17", "day": "Tuesday", "daycount": "J+763", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41108.0, "date": "2012/07/18", "day": "Wednesday", "daycount": "J+764", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41109.0, "date": "2012/07/19", "day": "Thursday", "daycount": "J+765", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41110.0, "date": "2012/07/20", "day": "Friday", "daycount": "J+766", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41111.0, "date": "2012/07/21", "day": "Saturday", "daycount": "J+767", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41112.0, "date": "2012/07/22", "day": "Sunday", "daycount": "J+768", "starttime": "08:00:00", "endtime": "12:00:00", "text": "SODISM: Improved MES (stellar) mode New images sequence II", "data": 0.0}, {"daynum": 41113.0, "date": "2012/07/23", "day": "Monday", "daycount": "J+769", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41114.0, "date": "2012/07/24", "day": "Tuesday", "daycount": "J+770", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41115.0, "date": "2012/07/25", "day": "Wednesday", "daycount": "J+771", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41116.0, "date": "2012/07/26", "day": "Thursday", "daycount": "J+772", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41117.0, "date": "2012/07/27", "day": "Friday", "daycount": "J+773", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41118.0, "date": "2012/07/28", "day": "Saturday", "daycount": "J+774", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41119.0, "date": "2012/07/29", "day": "Sunday", "daycount": "J+775", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41120.0, "date": "2012/07/30", "day": "Monday", "daycount": "J+776", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41121.0, "date": "2012/07/31", "day": "Tuesday", "daycount": "J+777", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41122.0, "date": "2012/08/01", "day": "Wednesday", "daycount": "J+778", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41123.0, "date": "2012/08/02", "day": "Thursday", "daycount": "J+779", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41124.0, "date": "2012/08/03", "day": "Friday", "daycount": "J+780", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41125.0, "date": "2012/08/04", "day": "Saturday", "daycount": "J+781", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41126.0, "date": "2012/08/05", "day": "Sunday", "daycount": "J+782", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41127.0, "date": "2012/08/06", "day": "Monday", "daycount": "J+783", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41128.0, "date": "2012/08/07", "day": "Tuesday", "daycount": "J+784", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41129.0, "date": "2012/08/08", "day": "Wednesday", "daycount": "J+785", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41130.0, "date": "2012/08/09", "day": "Thursday", "daycount": "J+786", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41131.0, "date": "2012/08/10", "day": "Friday", "daycount": "J+787", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41132.0, "date": "2012/08/11", "day": "Saturday", "daycount": "J+788", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41133.0, "date": "2012/08/12", "day": "Sunday", "daycount": "J+789", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41134.0, "date": "2012/08/13", "day": "Monday", "daycount": "J+790", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41135.0, "date": "2012/08/14", "day": "Tuesday", "daycount": "J+791", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41136.0, "date": "2012/08/15", "day": "Wednesday", "daycount": "J+792", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41137.0, "date": "2012/08/16", "day": "Thursday", "daycount": "J+793", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41138.0, "date": "2012/08/17", "day": "Friday", "daycount": "J+794", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41139.0, "date": "2012/08/18", "day": "Saturday", "daycount": "J+795", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 607, DL images)", "data": 0.0}, {"daynum": 41140.0, "date": "2012/08/19", "day": "Sunday", "daycount": "J+796", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 607, DL images)", "data": 0.0}, {"daynum": 41141.0, "date": "2012/08/20", "day": "Monday", "daycount": "J+797", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41142.0, "date": "2012/08/21", "day": "Tuesday", "daycount": "J+798", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41143.0, "date": "2012/08/22", "day": "Wednesday", "daycount": "J+799", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41144.0, "date": "2012/08/23", "day": "Thursday", "daycount": "J+800", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41145.0, "date": "2012/08/24", "day": "Friday", "daycount": "J+801", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41146.0, "date": "2012/08/25", "day": "Saturday", "daycount": "J+802", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41147.0, "date": "2012/08/26", "day": "Sunday", "daycount": "J+803", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41148.0, "date": "2012/08/27", "day": "Monday", "daycount": "J+804", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41149.0, "date": "2012/08/28", "day": "Tuesday", "daycount": "J+805", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41150.0, "date": "2012/08/29", "day": "Wednesday", "daycount": "J+806", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41151.0, "date": "2012/08/30", "day": "Thursday", "daycount": "J+807", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41152.0, "date": "2012/08/31", "day": "Friday", "daycount": "J+808", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41153.0, "date": "2012/09/01", "day": "Saturday", "daycount": "J+809", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 607, DL images)", "data": 0.0}, {"daynum": 41154.0, "date": "2012/09/02", "day": "Sunday", "daycount": "J+810", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 607, DL images)", "data": 0.0}, {"daynum": 41155.0, "date": "2012/09/03", "day": "Monday", "daycount": "J+811", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41156.0, "date": "2012/09/04", "day": "Tuesday", "daycount": "J+812", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41157.0, "date": "2012/09/05", "day": "Wednesday", "daycount": "J+813", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41158.0, "date": "2012/09/06", "day": "Thursday", "daycount": "J+814", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41159.0, "date": "2012/09/07", "day": "Friday", "daycount": "J+815", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41160.0, "date": "2012/09/08", "day": "Saturday", "daycount": "J+816", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41161.0, "date": "2012/09/09", "day": "Sunday", "daycount": "J+817", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41162.0, "date": "2012/09/10", "day": "Monday", "daycount": "J+818", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41163.0, "date": "2012/09/11", "day": "Tuesday", "daycount": "J+819", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41164.0, "date": "2012/09/12", "day": "Wednesday", "daycount": "J+820", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41165.0, "date": "2012/09/13", "day": "Thursday", "daycount": "J+821", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41166.0, "date": "2012/09/14", "day": "Friday", "daycount": "J+822", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41167.0, "date": "2012/09/15", "day": "Saturday", "daycount": "J+823", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 607, DL images)", "data": 0.0}, {"daynum": 41168.0, "date": "2012/09/16", "day": "Sunday", "daycount": "J+824", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 607, DL images)", "data": 0.0}, {"daynum": 41169.0, "date": "2012/09/17", "day": "Monday", "daycount": "J+825", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41170.0, "date": "2012/09/18", "day": "Tuesday", "daycount": "J+826", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41171.0, "date": "2012/09/19", "day": "Wednesday", "daycount": "J+827", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41172.0, "date": "2012/09/20", "day": "Thursday", "daycount": "J+828", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41173.0, "date": "2012/09/21", "day": "Friday", "daycount": "J+829", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41174.0, "date": "2012/09/22", "day": "Saturday", "daycount": "J+830", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41175.0, "date": "2012/09/23", "day": "Sunday", "daycount": "J+831", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41176.0, "date": "2012/09/24", "day": "Monday", "daycount": "J+832", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41177.0, "date": "2012/09/25", "day": "Tuesday", "daycount": "J+833", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41178.0, "date": "2012/09/26", "day": "Wednesday", "daycount": "J+834", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41179.0, "date": "2012/09/27", "day": "Thursday", "daycount": "J+835", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41180.0, "date": "2012/09/28", "day": "Friday", "daycount": "J+836", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41181.0, "date": "2012/09/29", "day": "Saturday", "daycount": "J+837", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41182.0, "date": "2012/09/30", "day": "Sunday", "daycount": "J+838", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41183.0, "date": "2012/10/01", "day": "Monday", "daycount": "J+839", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41184.0, "date": "2012/10/02", "day": "Tuesday", "daycount": "J+840", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41185.0, "date": "2012/10/03", "day": "Wednesday", "daycount": "J+841", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41186.0, "date": "2012/10/04", "day": "Thursday", "daycount": "J+842", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41187.0, "date": "2012/10/05", "day": "Friday", "daycount": "J+843", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41188.0, "date": "2012/10/06", "day": "Saturday", "daycount": "J+844", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41189.0, "date": "2012/10/07", "day": "Sunday", "daycount": "J+845", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41190.0, "date": "2012/10/08", "day": "Monday", "daycount": "J+846", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41191.0, "date": "2012/10/09", "day": "Tuesday", "daycount": "J+847", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41192.0, "date": "2012/10/10", "day": "Wednesday", "daycount": "J+848", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41193.0, "date": "2012/10/11", "day": "Thursday", "daycount": "J+849", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41194.0, "date": "2012/10/12", "day": "Friday", "daycount": "J+850", "starttime": "00:00:00", "endtime": "05:00:00", "text": "SODISM: Configuration Restoration", "data": 0.0}, {"daynum": 41194.0, "date": "2012/10/12", "day": "Friday", "daycount": "J+850", "starttime": "05:00:00", "endtime": "07:00:00", "text": "PREMOS: Science mode", "data": 0.0}, {"daynum": 41194.0, "date": "2012/10/12", "day": "Friday", "daycount": "J+850", "starttime": "10:00:00", "endtime": "13:00:00", "text": "SODISM : Thermal configuration modification Table 005", "data": 0.0}, {"daynum": 41195.0, "date": "2012/10/13", "day": "Saturday", "daycount": "J+851", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41196.0, "date": "2012/10/14", "day": "Sunday", "daycount": "J+852", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41197.0, "date": "2012/10/15", "day": "Monday", "daycount": "J+853", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41198.0, "date": "2012/10/16", "day": "Tuesday", "daycount": "J+854", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41199.0, "date": "2012/10/17", "day": "Wednesday", "daycount": "J+855", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41200.0, "date": "2012/10/18", "day": "Thursday", "daycount": "J+856", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41201.0, "date": "2012/10/19", "day": "Friday", "daycount": "J+857", "starttime": "08:00:00", "endtime": "12:00:00", "text": "SODISM: Improved MES (stellar) mode New images sequence II", "data": 0.0}, {"daynum": 41202.0, "date": "2012/10/20", "day": "Saturday", "daycount": "J+858", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41203.0, "date": "2012/10/21", "day": "Sunday", "daycount": "J+859", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41204.0, "date": "2012/10/22", "day": "Monday", "daycount": "J+860", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41205.0, "date": "2012/10/23", "day": "Tuesday", "daycount": "J+861", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41206.0, "date": "2012/10/24", "day": "Wednesday", "daycount": "J+862", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41207.0, "date": "2012/10/25", "day": "Thursday", "daycount": "J+863", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41208.0, "date": "2012/10/26", "day": "Friday", "daycount": "J+864", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41209.0, "date": "2012/10/27", "day": "Saturday", "daycount": "J+865", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 607, DL images)", "data": 0.0}, {"daynum": 41210.0, "date": "2012/10/28", "day": "Sunday", "daycount": "J+866", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 607, DL images)", "data": 0.0}, {"daynum": 41211.0, "date": "2012/10/29", "day": "Monday", "daycount": "J+867", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41212.0, "date": "2012/10/30", "day": "Tuesday", "daycount": "J+868", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41213.0, "date": "2012/10/31", "day": "Wednesday", "daycount": "J+869", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41214.0, "date": "2012/11/01", "day": "Thursday", "daycount": "J+870", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41215.0, "date": "2012/11/02", "day": "Friday", "daycount": "J+871", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41216.0, "date": "2012/11/03", "day": "Saturday", "daycount": "J+872", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41217.0, "date": "2012/11/04", "day": "Sunday", "daycount": "J+873", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41218.0, "date": "2012/11/05", "day": "Monday", "daycount": "J+874", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41219.0, "date": "2012/11/06", "day": "Tuesday", "daycount": "J+875", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41220.0, "date": "2012/11/07", "day": "Wednesday", "daycount": "J+876", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41221.0, "date": "2012/11/08", "day": "Thursday", "daycount": "J+877", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41222.0, "date": "2012/11/09", "day": "Friday", "daycount": "J+878", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41223.0, "date": "2012/11/10", "day": "Saturday", "daycount": "J+879", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41224.0, "date": "2012/11/11", "day": "Sunday", "daycount": "J+880", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41227.0, "date": "2012/11/14", "day": "Wednesday", "daycount": "J+883", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41228.0, "date": "2012/11/15", "day": "Thursday", "daycount": "J+884", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41229.0, "date": "2012/11/16", "day": "Friday", "daycount": "J+885", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41230.0, "date": "2012/11/17", "day": "Saturday", "daycount": "J+886", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41231.0, "date": "2012/11/18", "day": "Sunday", "daycount": "J+887", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41232.0, "date": "2012/11/19", "day": "Monday", "daycount": "J+888", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41233.0, "date": "2012/11/20", "day": "Tuesday", "daycount": "J+889", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41234.0, "date": "2012/11/21", "day": "Wednesday", "daycount": "J+890", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41235.0, "date": "2012/11/22", "day": "Thursday", "daycount": "J+891", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41236.0, "date": "2012/11/23", "day": "Friday", "daycount": "J+892", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41237.0, "date": "2012/11/24", "day": "Saturday", "daycount": "J+893", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41238.0, "date": "2012/11/25", "day": "Sunday", "daycount": "J+894", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41239.0, "date": "2012/11/26", "day": "Monday", "daycount": "J+895", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41240.0, "date": "2012/11/27", "day": "Tuesday", "daycount": "J+896", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41241.0, "date": "2012/11/28", "day": "Wednesday", "daycount": "J+897", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41242.0, "date": "2012/11/29", "day": "Thursday", "daycount": "J+898", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41243.0, "date": "2012/11/30", "day": "Friday", "daycount": "J+899", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41244.0, "date": "2012/12/01", "day": "Saturday", "daycount": "J+900", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41245.0, "date": "2012/12/02", "day": "Sunday", "daycount": "J+901", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41246.0, "date": "2012/12/03", "day": "Monday", "daycount": "J+902", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41247.0, "date": "2012/12/04", "day": "Tuesday", "daycount": "J+903", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41248.0, "date": "2012/12/05", "day": "Wednesday", "daycount": "J+904", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41249.0, "date": "2012/12/06", "day": "Thursday", "daycount": "J+905", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41250.0, "date": "2012/12/07", "day": "Friday", "daycount": "J+906", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41251.0, "date": "2012/12/08", "day": "Saturday", "daycount": "J+907", "starttime": "02:00:00", "endtime": "04:00:00", "text": "PREMOS: Science mode", "data": 0.0}, {"daynum": 41252.0, "date": "2012/12/09", "day": "Sunday", "daycount": "J+908", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41253.0, "date": "2012/12/10", "day": "Monday", "daycount": "J+909", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41254.0, "date": "2012/12/11", "day": "Tuesday", "daycount": "J+910", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41255.0, "date": "2012/12/12", "day": "Wednesday", "daycount": "J+911", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41256.0, "date": "2012/12/13", "day": "Thursday", "daycount": "J+912", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41257.0, "date": "2012/12/14", "day": "Friday", "daycount": "J+913", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41258.0, "date": "2012/12/15", "day": "Saturday", "daycount": "J+914", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41259.0, "date": "2012/12/16", "day": "Sunday", "daycount": "J+915", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41260.0, "date": "2012/12/17", "day": "Monday", "daycount": "J+916", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41261.0, "date": "2012/12/18", "day": "Tuesday", "daycount": "J+917", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41262.0, "date": "2012/12/19", "day": "Wednesday", "daycount": "J+918", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41263.0, "date": "2012/12/20", "day": "Thursday", "daycount": "J+919", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41264.0, "date": "2012/12/21", "day": "Friday", "daycount": "J+920", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41265.0, "date": "2012/12/22", "day": "Saturday", "daycount": "J+921", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41266.0, "date": "2012/12/23", "day": "Sunday", "daycount": "J+922", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41267.0, "date": "2012/12/24", "day": "Monday", "daycount": "J+923", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41268.0, "date": "2012/12/25", "day": "Tuesday", "daycount": "J+924", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41269.0, "date": "2012/12/26", "day": "Wednesday", "daycount": "J+925", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41270.0, "date": "2012/12/27", "day": "Thursday", "daycount": "J+926", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41271.0, "date": "2012/12/28", "day": "Friday", "daycount": "J+927", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41272.0, "date": "2012/12/29", "day": "Saturday", "daycount": "J+928", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41273.0, "date": "2012/12/30", "day": "Sunday", "daycount": "J+929", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41274.0, "date": "2012/12/31", "day": "Monday", "daycount": "J+930", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41275.0, "date": "2013/01/01", "day": "Tuesday", "daycount": "J+931", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41276.0, "date": "2013/01/02", "day": "Wednesday", "daycount": "J+932", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41277.0, "date": "2013/01/03", "day": "Thursday", "daycount": "J+933", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41278.0, "date": "2013/01/04", "day": "Friday", "daycount": "J+934", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41279.0, "date": "2013/01/05", "day": "Saturday", "daycount": "J+935", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41280.0, "date": "2013/01/06", "day": "Sunday", "daycount": "J+936", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41281.0, "date": "2013/01/07", "day": "Monday", "daycount": "J+937", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41282.0, "date": "2013/01/08", "day": "Tuesday", "daycount": "J+938", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41283.0, "date": "2013/01/09", "day": "Wednesday", "daycount": "J+939", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41284.0, "date": "2013/01/10", "day": "Thursday", "daycount": "J+940", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41285.0, "date": "2013/01/11", "day": "Friday", "daycount": "J+941", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41286.0, "date": "2013/01/12", "day": "Saturday", "daycount": "J+942", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41287.0, "date": "2013/01/13", "day": "Sunday", "daycount": "J+943", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41288.0, "date": "2013/01/14", "day": "Monday", "daycount": "J+944", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41289.0, "date": "2013/01/15", "day": "Tuesday", "daycount": "J+945", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41290.0, "date": "2013/01/16", "day": "Wednesday", "daycount": "J+946", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41291.0, "date": "2013/01/17", "day": "Thursday", "daycount": "J+947", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41292.0, "date": "2013/01/18", "day": "Friday", "daycount": "J+948", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41293.0, "date": "2013/01/19", "day": "Saturday", "daycount": "J+949", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41294.0, "date": "2013/01/20", "day": "Sunday", "daycount": "J+950", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41295.0, "date": "2013/01/21", "day": "Monday", "daycount": "J+951", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41296.0, "date": "2013/01/22", "day": "Tuesday", "daycount": "J+952", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41297.0, "date": "2013/01/23", "day": "Wednesday", "daycount": "J+953", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41298.0, "date": "2013/01/24", "day": "Thursday", "daycount": "J+954", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41299.0, "date": "2013/01/25", "day": "Friday", "daycount": "J+955", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41300.0, "date": "2013/01/26", "day": "Saturday", "daycount": "J+956", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41301.0, "date": "2013/01/27", "day": "Sunday", "daycount": "J+957", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specifc Remanece Procedure WL535H-1", "data": 0.0}, {"daynum": 41302.0, "date": "2013/01/28", "day": "Monday", "daycount": "J+958", "starttime": "02:00:00", "endtime": "13:00:00", "text": "SODISM: Specific Piston Procedure", "data": 0.0}, {"daynum": 41302.0, "date": "2013/01/28", "day": "Monday", "daycount": "J+958", "starttime": "13:00:00", "endtime": "24:00:00", "text": "PREMOS: Occultation Procedure", "data": 0.0}, {"daynum": 41303.0, "date": "2013/01/29", "day": "Tuesday", "daycount": "J+959", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41304.0, "date": "2013/01/30", "day": "Wednesday", "daycount": "J+960", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41305.0, "date": "2013/01/31", "day": "Thursday", "daycount": "J+961", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41306.0, "date": "2013/02/01", "day": "Friday", "daycount": "J+962", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41307.0, "date": "2013/02/02", "day": "Saturday", "daycount": "J+963", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41308.0, "date": "2013/02/03", "day": "Sunday", "daycount": "J+964", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41309.0, "date": "2013/02/04", "day": "Monday", "daycount": "J+965", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41310.0, "date": "2013/02/05", "day": "Tuesday", "daycount": "J+966", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41311.0, "date": "2013/02/06", "day": "Wednesday", "daycount": "J+967", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41312.0, "date": "2013/02/07", "day": "Thursday", "daycount": "J+968", "starttime": "08:00:00", "endtime": "12:00:00", "text": "SODISM: Improved MES (stellar) mode New images sequence 2B \u2013 607 nm", "data": 0.0}, {"daynum": 41313.0, "date": "2013/02/08", "day": "Friday", "daycount": "J+969", "starttime": "08:00:00", "endtime": "12:00:00", "text": "SODISM: Improved MES (stellar) mode New images sequence 2B \u2013 393 nm", "data": 0.0}, {"daynum": 41314.0, "date": "2013/02/09", "day": "Saturday", "daycount": "J+970", "starttime": "08:00:00", "endtime": "12:00:00", "text": "SODISM: Improved MES (stellar) mode New images sequence 2B \u2013 535H nm", "data": 0.0}, {"daynum": 41315.0, "date": "2013/02/10", "day": "Sunday", "daycount": "J+971", "starttime": "05:00:00", "endtime": "08:00:00", "text": "PREMOS: Specific Procedure during MES", "data": 0.0}, {"daynum": 41315.0, "date": "2013/02/10", "day": "Sunday", "daycount": "J+971", "starttime": "08:00:00", "endtime": "12:00:00", "text": "SODISM: Improved MES (stellar) mode New images sequence 2B \u2013 535D nm", "data": 0.0}, {"daynum": 41316.0, "date": "2013/02/11", "day": "Monday", "daycount": "J+972", "starttime": "09:00:00", "endtime": "24:00:00", "text": "SODISM: Specific PLLC Procedure all configurations", "data": 0.0}, {"daynum": 41317.0, "date": "2013/02/12", "day": "Tuesday", "daycount": "J+973", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific Piston Procedure-2(Duration: ~1000 min.)", "data": 0.0}, {"daynum": 41318.0, "date": "2013/02/13", "day": "Wednesday", "daycount": "J+974", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535, DL images)", "data": 0.0}, {"daynum": 41319.0, "date": "2013/02/14", "day": "Thursday", "daycount": "J+975", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535, DL images)", "data": 0.0}, {"daynum": 41320.0, "date": "2013/02/15", "day": "Friday", "daycount": "J+976", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specifc Remanence Procedure-2 WL 393", "data": 0.0}, {"daynum": 41321.0, "date": "2013/02/16", "day": "Saturday", "daycount": "J+977", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specifc Remanence Procedure-2 WL 535D", "data": 0.0}, {"daynum": 41322.0, "date": "2013/02/17", "day": "Sunday", "daycount": "J+978", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specifc Remanence Procedure-2 WL 607", "data": 0.0}, {"daynum": 41323.0, "date": "2013/02/18", "day": "Monday", "daycount": "J+979", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specifc Remanence Procedure-2 WL 782", "data": 0.0}, {"daynum": 41324.0, "date": "2013/02/19", "day": "Tuesday", "daycount": "J+980", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specifc Remanence Procedure-2 WL 535H", "data": 0.0}, {"daynum": 41325.0, "date": "2013/02/20", "day": "Wednesday", "daycount": "J+981", "starttime": "00:00:00", "endtime": "15:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 215nm", "data": 0.0}, {"daynum": 41326.0, "date": "2013/02/21", "day": "Thursday", "daycount": "J+982", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 607, DL images)", "data": 0.0}, {"daynum": 41327.0, "date": "2013/02/22", "day": "Friday", "daycount": "J+983", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 607, DL images)", "data": 0.0}, {"daynum": 41328.0, "date": "2013/02/23", "day": "Saturday", "daycount": "J+984", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 393, DL images)", "data": 0.0}, {"daynum": 41329.0, "date": "2013/02/24", "day": "Sunday", "daycount": "J+985", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 393, DL images)", "data": 0.0}, {"daynum": 41330.0, "date": "2013/02/25", "day": "Monday", "daycount": "J+986", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41331.0, "date": "2013/02/26", "day": "Tuesday", "daycount": "J+987", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 782, DL images)", "data": 0.0}, {"daynum": 41332.0, "date": "2013/02/27", "day": "Wednesday", "daycount": "J+988", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 782, DL images)", "data": 0.0}, {"daynum": 41333.0, "date": "2013/02/28", "day": "Thursday", "daycount": "J+989", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535H, DL images)", "data": 0.0}, {"daynum": 41334.0, "date": "2013/03/01", "day": "Friday", "daycount": "J+990", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535H, DL images)", "data": 0.0}, {"daynum": 41335.0, "date": "2013/03/02", "day": "Saturday", "daycount": "J+991", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific Flatfield Procedure Rotation of Filter Wheels: 215 nm", "data": 0.0}, {"daynum": 41336.0, "date": "2013/03/03", "day": "Sunday", "daycount": "J+992", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41337.0, "date": "2013/03/04", "day": "Monday", "daycount": "J+993", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41338.0, "date": "2013/03/05", "day": "Tuesday", "daycount": "J+994", "starttime": "00:00:00", "endtime": "05:00:00", "text": "SODISM: Configuration Restoration", "data": 0.0}, {"daynum": 41339.0, "date": "2013/03/06", "day": "Wednesday", "daycount": "J+995", "starttime": "05:00:00", "endtime": "10:00:00", "text": "SODISM: Configuration Restoration", "data": 0.0}, {"daynum": 41340.0, "date": "2013/03/07", "day": "Thursday", "daycount": "J+996", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41341.0, "date": "2013/03/08", "day": "Friday", "daycount": "J+997", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 215, DL images)", "data": 0.0}, {"daynum": 41342.0, "date": "2013/03/09", "day": "Saturday", "daycount": "J+998", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 215, DL images)", "data": 0.0}, {"daynum": 41343.0, "date": "2013/03/10", "day": "Sunday", "daycount": "J+999", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41344.0, "date": "2013/03/11", "day": "Monday", "daycount": "J+1000", "starttime": "06:00:00", "endtime": "09:00:00", "text": "PREMOS: Specific Procedure during MES", "data": 0.0}, {"daynum": 41344.0, "date": "2013/03/11", "day": "Monday", "daycount": "J+1000", "starttime": "09:00:00", "endtime": "13:00:00", "text": "SODISM: Improved MES (stellar) mode New images sequence 2B 607 nm", "data": 0.0}, {"daynum": 41345.0, "date": "2013/03/12", "day": "Tuesday", "daycount": "J+1001", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Exposure time Variation: 607 nm", "data": 0.0}, {"daynum": 41346.0, "date": "2013/03/13", "day": "Wednesday", "daycount": "J+1002", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Exposure time Variation: 535D nm", "data": 0.0}, {"daynum": 41347.0, "date": "2013/03/14", "day": "Thursday", "daycount": "J+1003", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Exposure time Variation: 782", "data": 0.0}, {"daynum": 41348.0, "date": "2013/03/15", "day": "Friday", "daycount": "J+1004", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Stroke rate max 393 nm \u2013 2", "data": 0.0}, {"daynum": 41349.0, "date": "2013/03/16", "day": "Saturday", "daycount": "J+1005", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Stroke rate max 393 nm \u2013 2", "data": 0.0}, {"daynum": 41350.0, "date": "2013/03/17", "day": "Sunday", "daycount": "J+1006", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Stroke rate max 393 nm \u2013 2", "data": 0.0}, {"daynum": 41351.0, "date": "2013/03/18", "day": "Monday", "daycount": "J+1007", "starttime": "06:00:00", "endtime": "24:00:00", "text": "SODISM: Specific Flatfield Procedure Rotation of Filter Wheels 2 Wavelength: 215 nm", "data": 0.0}, {"daynum": 41352.0, "date": "2013/03/19", "day": "Tuesday", "daycount": "J+1008", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific Flatfield Procedure Rotation of Filter Wheels 2 Wavelength: 393 nm", "data": 0.0}, {"daynum": 41353.0, "date": "2013/03/20", "day": "Wednesday", "daycount": "J+1009", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific Flatfield Procedure Rotation of Filter Wheels 2 Wavelength: 535D nm", "data": 0.0}, {"daynum": 41354.0, "date": "2013/03/21", "day": "Thursday", "daycount": "J+1010", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific Flatfield Procedure Rotation of Filter Wheels 2 Wavelength: 607 nm", "data": 0.0}, {"daynum": 41355.0, "date": "2013/03/22", "day": "Friday", "daycount": "J+1011", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific Flatfield Procedure Rotation of Filter Wheels 2 Wavelength: 782 nm", "data": 0.0}, {"daynum": 41356.0, "date": "2013/03/23", "day": "Saturday", "daycount": "J+1012", "starttime": "00:00:00", "endtime": "08:00:00", "text": "SODISM: Specific Flatfield Procedure Rotation of Filter Wheels 2 Wavelength: 535H nm( ==> Only first 450 minutes of the procedure)", "data": 0.0}, {"daynum": 41357.0, "date": "2013/03/24", "day": "Sunday", "daycount": "J+1013", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41358.0, "date": "2013/03/25", "day": "Monday", "daycount": "J+1014", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41359.0, "date": "2013/03/26", "day": "Tuesday", "daycount": "J+1015", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41360.0, "date": "2013/03/27", "day": "Wednesday", "daycount": "J+1016", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific Flatfield Procedure Rotation of Filter Wheels 2 Wavelength: 393 nm", "data": 0.0}, {"daynum": 41361.0, "date": "2013/03/28", "day": "Thursday", "daycount": "J+1017", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific Flatfield Procedure Rotation of Filter Wheels 2 Wavelength: 782 nm", "data": 0.0}, {"daynum": 41362.0, "date": "2013/03/29", "day": "Friday", "daycount": "J+1018", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41363.0, "date": "2013/03/30", "day": "Saturday", "daycount": "J+1019", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41364.0, "date": "2013/03/31", "day": "Sunday", "daycount": "J+1020", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41365.0, "date": "2013/04/01", "day": "Monday", "daycount": "J+1021", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41366.0, "date": "2013/04/02", "day": "Tuesday", "daycount": "J+1022", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41367.0, "date": "2013/04/03", "day": "Wednesday", "daycount": "J+1023", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41368.0, "date": "2013/04/04", "day": "Thursday", "daycount": "J+1024", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41369.0, "date": "2013/04/05", "day": "Friday", "daycount": "J+1025", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41370.0, "date": "2013/04/06", "day": "Saturday", "daycount": "J+1026", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41371.0, "date": "2013/04/07", "day": "Sunday", "daycount": "J+1027", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41372.0, "date": "2013/04/08", "day": "Monday", "daycount": "J+1028", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41373.0, "date": "2013/04/09", "day": "Tuesday", "daycount": "J+1029", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41374.0, "date": "2013/04/10", "day": "Wednesday", "daycount": "J+1030", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41375.0, "date": "2013/04/11", "day": "Thursday", "daycount": "J+1031", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41376.0, "date": "2013/04/12", "day": "Friday", "daycount": "J+1032", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41377.0, "date": "2013/04/13", "day": "Saturday", "daycount": "J+1033", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41378.0, "date": "2013/04/14", "day": "Sunday", "daycount": "J+1034", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41379.0, "date": "2013/04/15", "day": "Monday", "daycount": "J+1035", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41380.0, "date": "2013/04/16", "day": "Tuesday", "daycount": "J+1036", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41381.0, "date": "2013/04/17", "day": "Wednesday", "daycount": "J+1037", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41382.0, "date": "2013/04/18", "day": "Thursday", "daycount": "J+1038", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41383.0, "date": "2013/04/19", "day": "Friday", "daycount": "J+1039", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41384.0, "date": "2013/04/20", "day": "Saturday", "daycount": "J+1040", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41385.0, "date": "2013/04/21", "day": "Sunday", "daycount": "J+1041", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41386.0, "date": "2013/04/22", "day": "Monday", "daycount": "J+1042", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41387.0, "date": "2013/04/23", "day": "Tuesday", "daycount": "J+1043", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41388.0, "date": "2013/04/24", "day": "Wednesday", "daycount": "J+1044", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41389.0, "date": "2013/04/25", "day": "Thursday", "daycount": "J+1045", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41390.0, "date": "2013/04/26", "day": "Friday", "daycount": "J+1046", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41391.0, "date": "2013/04/27", "day": "Saturday", "daycount": "J+1047", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41392.0, "date": "2013/04/28", "day": "Sunday", "daycount": "J+1048", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41393.0, "date": "2013/04/29", "day": "Monday", "daycount": "J+1049", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41394.0, "date": "2013/04/30", "day": "Tuesday", "daycount": "J+1050", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41395.0, "date": "2013/05/01", "day": "Wednesday", "daycount": "J+1051", "starttime": "19:00:00", "endtime": "24:00:00", "text": "SODISM: Specific CO procedure \u2013 1", "data": 0.0}, {"daynum": 41396.0, "date": "2013/05/02", "day": "Thursday", "daycount": "J+1052", "starttime": "00:00:00", "endtime": "04:00:00", "text": "SODISM: Specific CO procedure \u2013 1", "data": 0.0}, {"daynum": 41397.0, "date": "2013/05/03", "day": "Friday", "daycount": "J+1053", "starttime": "00:00:00", "endtime": "06:00:00", "text": "SODISM: Specific CO procedure \u2013 2", "data": 0.0}, {"daynum": 41398.0, "date": "2013/05/04", "day": "Saturday", "daycount": "J+1054", "starttime": "19:00:00", "endtime": "24:00:00", "text": "SODISM: Specific CO procedure \u2013 1", "data": 0.0}, {"daynum": 41399.0, "date": "2013/05/05", "day": "Sunday", "daycount": "J+1055", "starttime": "00:00:00", "endtime": "04:00:00", "text": "SODISM: Specific CO procedure \u2013 1", "data": 0.0}, {"daynum": 41400.0, "date": "2013/05/06", "day": "Monday", "daycount": "J+1056", "starttime": "02:00:00", "endtime": "08:00:00", "text": "SODISM: Specific CO procedure \u2013 2", "data": 0.0}, {"daynum": 41401.0, "date": "2013/05/07", "day": "Tuesday", "daycount": "J+1057", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41402.0, "date": "2013/05/08", "day": "Wednesday", "daycount": "J+1058", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41403.0, "date": "2013/05/09", "day": "Thursday", "daycount": "J+1059", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41404.0, "date": "2013/05/10", "day": "Friday", "daycount": "J+1060", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41405.0, "date": "2013/05/11", "day": "Saturday", "daycount": "J+1061", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41406.0, "date": "2013/05/12", "day": "Sunday", "daycount": "J+1062", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41407.0, "date": "2013/05/13", "day": "Monday", "daycount": "J+1063", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41408.0, "date": "2013/05/14", "day": "Tuesday", "daycount": "J+1064", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41409.0, "date": "2013/05/15", "day": "Wednesday", "daycount": "J+1065", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41410.0, "date": "2013/05/16", "day": "Thursday", "daycount": "J+1066", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41411.0, "date": "2013/05/17", "day": "Friday", "daycount": "J+1067", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41412.0, "date": "2013/05/18", "day": "Saturday", "daycount": "J+1068", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41413.0, "date": "2013/05/19", "day": "Sunday", "daycount": "J+1069", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41414.0, "date": "2013/05/20", "day": "Monday", "daycount": "J+1070", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41415.0, "date": "2013/05/21", "day": "Tuesday", "daycount": "J+1071", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41416.0, "date": "2013/05/22", "day": "Wednesday", "daycount": "J+1072", "starttime": "12:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41417.0, "date": "2013/05/23", "day": "Thursday", "daycount": "J+1073", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41418.0, "date": "2013/05/24", "day": "Friday", "daycount": "J+1074", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41419.0, "date": "2013/05/25", "day": "Saturday", "daycount": "J+1075", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41420.0, "date": "2013/05/26", "day": "Sunday", "daycount": "J+1076", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41421.0, "date": "2013/05/27", "day": "Monday", "daycount": "J+1077", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41422.0, "date": "2013/05/28", "day": "Tuesday", "daycount": "J+1078", "starttime": "00:00:00", "endtime": "14:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41423.0, "date": "2013/05/29", "day": "Wednesday", "daycount": "J+1079", "starttime": "19:00:00", "endtime": "24:00:00", "text": "SODISM: Specific CO procedure \u2013 1", "data": 0.0}, {"daynum": 41424.0, "date": "2013/05/30", "day": "Thursday", "daycount": "J+1080", "starttime": "00:00:00", "endtime": "04:00:00", "text": "SODISM: Specific CO procedure \u2013 1", "data": 0.0}, {"daynum": 41425.0, "date": "2013/05/31", "day": "Friday", "daycount": "J+1081", "starttime": "00:00:00", "endtime": "06:00:00", "text": "SODISM: Specific CO procedure \u2013 2", "data": 0.0}, {"daynum": 41426.0, "date": "2013/06/01", "day": "Saturday", "daycount": "J+1082", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41427.0, "date": "2013/06/02", "day": "Sunday", "daycount": "J+1083", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41428.0, "date": "2013/06/03", "day": "Monday", "daycount": "J+1084", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41429.0, "date": "2013/06/04", "day": "Tuesday", "daycount": "J+1085", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41430.0, "date": "2013/06/05", "day": "Wednesday", "daycount": "J+1086", "starttime": "01:00:00", "endtime": "18:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 01:15:00", "data": 0.0}, {"daynum": 41431.0, "date": "2013/06/06", "day": "Thursday", "daycount": "J+1087", "starttime": "11:00:00", "endtime": "24:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 11:05:00", "data": 0.0}, {"daynum": 41432.0, "date": "2013/06/07", "day": "Friday", "daycount": "J+1088", "starttime": "00:00:00", "endtime": "04:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 11:05:00", "data": 0.0}, {"daynum": 41432.0, "date": "2013/06/07", "day": "Friday", "daycount": "J+1088", "starttime": "23:00:00", "endtime": "24:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 23:34:00", "data": 0.0}, {"daynum": 41433.0, "date": "2013/06/08", "day": "Saturday", "daycount": "J+1089", "starttime": "00:00:00", "endtime": "16:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 23:34:00", "data": 0.0}, {"daynum": 41434.0, "date": "2013/06/09", "day": "Sunday", "daycount": "J+1090", "starttime": "11:00:00", "endtime": "24:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 11:05:00", "data": 0.0}, {"daynum": 41435.0, "date": "2013/06/10", "day": "Monday", "daycount": "J+1091", "starttime": "09:00:00", "endtime": "24:00:00", "text": "SODISM: Specific SST03 \u2013 TANGENT Procedure T0: 09:46:00", "data": 0.0}, {"daynum": 41436.0, "date": "2013/06/11", "day": "Tuesday", "daycount": "J+1092", "starttime": "00:00:00", "endtime": "16:00:00", "text": "SODISM: Specific SST03 \u2013 TANGENT Procedure T0: 09:46:00", "data": 0.0}, {"daynum": 41437.0, "date": "2013/06/12", "day": "Wednesday", "daycount": "J+1093", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41438.0, "date": "2013/06/13", "day": "Thursday", "daycount": "J+1094", "starttime": "01:00:00", "endtime": "18:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 01:05:00", "data": 0.0}, {"daynum": 41439.0, "date": "2013/06/14", "day": "Friday", "daycount": "J+1095", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41440.0, "date": "2013/06/15", "day": "Saturday", "daycount": "J+1096", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41441.0, "date": "2013/06/16", "day": "Sunday", "daycount": "J+1097", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41442.0, "date": "2013/06/17", "day": "Monday", "daycount": "J+1098", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41443.0, "date": "2013/06/18", "day": "Tuesday", "daycount": "J+1099", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41444.0, "date": "2013/06/19", "day": "Wednesday", "daycount": "J+1100", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41445.0, "date": "2013/06/20", "day": "Thursday", "daycount": "J+1101", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41446.0, "date": "2013/06/21", "day": "Friday", "daycount": "J+1102", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41447.0, "date": "2013/06/22", "day": "Saturday", "daycount": "J+1103", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41448.0, "date": "2013/06/23", "day": "Sunday", "daycount": "J+1104", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41449.0, "date": "2013/06/24", "day": "Monday", "daycount": "J+1105", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41450.0, "date": "2013/06/25", "day": "Tuesday", "daycount": "J+1106", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41451.0, "date": "2013/06/26", "day": "Wednesday", "daycount": "J+1107", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41452.0, "date": "2013/06/27", "day": "Thursday", "daycount": "J+1108", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41453.0, "date": "2013/06/28", "day": "Friday", "daycount": "J+1109", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41454.0, "date": "2013/06/29", "day": "Saturday", "daycount": "J+1110", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41455.0, "date": "2013/06/30", "day": "Sunday", "daycount": "J+1111", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41456.0, "date": "2013/07/01", "day": "Monday", "daycount": "J+1112", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41457.0, "date": "2013/07/02", "day": "Tuesday", "daycount": "J+1113", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41458.0, "date": "2013/07/03", "day": "Wednesday", "daycount": "J+1114", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41459.0, "date": "2013/07/04", "day": "Thursday", "daycount": "J+1115", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41460.0, "date": "2013/07/05", "day": "Friday", "daycount": "J+1116", "starttime": "00:00:00", "endtime": "24:00:00", "text": " Specific HMI procedure", "data": 1.0}, {"daynum": 41461.0, "date": "2013/07/06", "day": "Saturday", "daycount": "J+1117", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific HMI procedure", "data": 1.0}, {"daynum": 41462.0, "date": "2013/07/07", "day": "Sunday", "daycount": "J+1118", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific HMI procedure", "data": 1.0}, {"daynum": 41463.0, "date": "2013/07/08", "day": "Monday", "daycount": "J+1119", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 0.0}, {"daynum": 41464.0, "date": "2013/07/09", "day": "Tuesday", "daycount": "J+1120", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41465.0, "date": "2013/07/10", "day": "Wednesday", "daycount": "J+1121", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41466.0, "date": "2013/07/11", "day": "Thursday", "daycount": "J+1122", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41467.0, "date": "2013/07/12", "day": "Friday", "daycount": "J+1123", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41468.0, "date": "2013/07/13", "day": "Saturday", "daycount": "J+1124", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41469.0, "date": "2013/07/14", "day": "Sunday", "daycount": "J+1125", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41470.0, "date": "2013/07/15", "day": "Monday", "daycount": "J+1126", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41471.0, "date": "2013/07/16", "day": "Tuesday", "daycount": "J+1127", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41472.0, "date": "2013/07/17", "day": "Wednesday", "daycount": "J+1128", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41473.0, "date": "2013/07/18", "day": "Thursday", "daycount": "J+1129", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41474.0, "date": "2013/07/19", "day": "Friday", "daycount": "J+1130", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41475.0, "date": "2013/07/20", "day": "Saturday", "daycount": "J+1131", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41476.0, "date": "2013/07/21", "day": "Sunday", "daycount": "J+1132", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41477.0, "date": "2013/07/22", "day": "Monday", "daycount": "J+1133", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41478.0, "date": "2013/07/23", "day": "Tuesday", "daycount": "J+1134", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41479.0, "date": "2013/07/24", "day": "Wednesday", "daycount": "J+1135", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41480.0, "date": "2013/07/25", "day": "Thursday", "daycount": "J+1136", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41481.0, "date": "2013/07/26", "day": "Friday", "daycount": "J+1137", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41482.0, "date": "2013/07/27", "day": "Saturday", "daycount": "J+1138", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41483.0, "date": "2013/07/28", "day": "Sunday", "daycount": "J+1139", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41484.0, "date": "2013/07/29", "day": "Monday", "daycount": "J+1140", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41485.0, "date": "2013/07/30", "day": "Tuesday", "daycount": "J+1141", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41486.0, "date": "2013/07/31", "day": "Wednesday", "daycount": "J+1142", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41487.0, "date": "2013/08/01", "day": "Thursday", "daycount": "J+1143", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41488.0, "date": "2013/08/02", "day": "Friday", "daycount": "J+1144", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific HMI procedure", "data": 0.0}, {"daynum": 41489.0, "date": "2013/08/03", "day": "Saturday", "daycount": "J+1145", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific HMI procedure", "data": 0.0}, {"daynum": 41490.0, "date": "2013/08/04", "day": "Sunday", "daycount": "J+1146", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific HMI procedure", "data": 0.0}, {"daynum": 41491.0, "date": "2013/08/05", "day": "Monday", "daycount": "J+1147", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41492.0, "date": "2013/08/06", "day": "Tuesday", "daycount": "J+1148", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41493.0, "date": "2013/08/07", "day": "Wednesday", "daycount": "J+1149", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41494.0, "date": "2013/08/08", "day": "Thursday", "daycount": "J+1150", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41495.0, "date": "2013/08/09", "day": "Friday", "daycount": "J+1151", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41496.0, "date": "2013/08/10", "day": "Saturday", "daycount": "J+1152", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41497.0, "date": "2013/08/11", "day": "Sunday", "daycount": "J+1153", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41498.0, "date": "2013/08/12", "day": "Monday", "daycount": "J+1154", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41499.0, "date": "2013/08/13", "day": "Tuesday", "daycount": "J+1155", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41500.0, "date": "2013/08/14", "day": "Wednesday", "daycount": "J+1156", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41501.0, "date": "2013/08/15", "day": "Thursday", "daycount": "J+1157", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41502.0, "date": "2013/08/16", "day": "Friday", "daycount": "J+1158", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41503.0, "date": "2013/08/17", "day": "Saturday", "daycount": "J+1159", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41504.0, "date": "2013/08/18", "day": "Sunday", "daycount": "J+1160", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41505.0, "date": "2013/08/19", "day": "Monday", "daycount": "J+1161", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41506.0, "date": "2013/08/20", "day": "Tuesday", "daycount": "J+1162", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41507.0, "date": "2013/08/21", "day": "Wednesday", "daycount": "J+1163", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41508.0, "date": "2013/08/22", "day": "Thursday", "daycount": "J+1164", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41509.0, "date": "2013/08/23", "day": "Friday", "daycount": "J+1165", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41510.0, "date": "2013/08/24", "day": "Saturday", "daycount": "J+1166", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41511.0, "date": "2013/08/25", "day": "Sunday", "daycount": "J+1167", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41512.0, "date": "2013/08/26", "day": "Monday", "daycount": "J+1168", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41513.0, "date": "2013/08/27", "day": "Tuesday", "daycount": "J+1169", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41514.0, "date": "2013/08/28", "day": "Wednesday", "daycount": "J+1170", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41515.0, "date": "2013/08/29", "day": "Thursday", "daycount": "J+1171", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41516.0, "date": "2013/08/30", "day": "Friday", "daycount": "J+1172", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41517.0, "date": "2013/08/31", "day": "Saturday", "daycount": "J+1173", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41518.0, "date": "2013/09/01", "day": "Sunday", "daycount": "J+1174", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41519.0, "date": "2013/09/02", "day": "Monday", "daycount": "J+1175", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41520.0, "date": "2013/09/03", "day": "Tuesday", "daycount": "J+1176", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41521.0, "date": "2013/09/04", "day": "Wednesday", "daycount": "J+1177", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41522.0, "date": "2013/09/05", "day": "Thursday", "daycount": "J+1178", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41523.0, "date": "2013/09/06", "day": "Friday", "daycount": "J+1179", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41524.0, "date": "2013/09/07", "day": "Saturday", "daycount": "J+1180", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41525.0, "date": "2013/09/08", "day": "Sunday", "daycount": "J+1181", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41526.0, "date": "2013/09/09", "day": "Monday", "daycount": "J+1182", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41527.0, "date": "2013/09/10", "day": "Tuesday", "daycount": "J+1183", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41528.0, "date": "2013/09/11", "day": "Wednesday", "daycount": "J+1184", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41529.0, "date": "2013/09/12", "day": "Thursday", "daycount": "J+1185", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41530.0, "date": "2013/09/13", "day": "Friday", "daycount": "J+1186", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41531.0, "date": "2013/09/14", "day": "Saturday", "daycount": "J+1187", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41532.0, "date": "2013/09/15", "day": "Sunday", "daycount": "J+1188", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41533.0, "date": "2013/09/16", "day": "Monday", "daycount": "J+1189", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41534.0, "date": "2013/09/17", "day": "Tuesday", "daycount": "J+1190", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41535.0, "date": "2013/09/18", "day": "Wednesday", "daycount": "J+1191", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41536.0, "date": "2013/09/19", "day": "Thursday", "daycount": "J+1192", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41537.0, "date": "2013/09/20", "day": "Friday", "daycount": "J+1193", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41538.0, "date": "2013/09/21", "day": "Saturday", "daycount": "J+1194", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41539.0, "date": "2013/09/22", "day": "Sunday", "daycount": "J+1195", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41540.0, "date": "2013/09/23", "day": "Monday", "daycount": "J+1196", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41541.0, "date": "2013/09/24", "day": "Tuesday", "daycount": "J+1197", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41542.0, "date": "2013/09/25", "day": "Wednesday", "daycount": "J+1198", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41543.0, "date": "2013/09/26", "day": "Thursday", "daycount": "J+1199", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41544.0, "date": "2013/09/27", "day": "Friday", "daycount": "J+1200", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41545.0, "date": "2013/09/28", "day": "Saturday", "daycount": "J+1201", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41546.0, "date": "2013/09/29", "day": "Sunday", "daycount": "J+1202", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41547.0, "date": "2013/09/30", "day": "Monday", "daycount": "J+1203", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41548.0, "date": "2013/10/01", "day": "Tuesday", "daycount": "J+1204", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41549.0, "date": "2013/10/02", "day": "Wednesday", "daycount": "J+1205", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41550.0, "date": "2013/10/03", "day": "Thursday", "daycount": "J+1206", "starttime": "00:00:00", "endtime": "19:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 00:15:00 (0\u00b0)", "data": 0.0}, {"daynum": 41551.0, "date": "2013/10/04", "day": "Friday", "daycount": "J+1207", "starttime": "08:00:00", "endtime": "24:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 08:00:00 (90\u00b0)", "data": 0.0}, {"daynum": 41552.0, "date": "2013/10/05", "day": "Saturday", "daycount": "J+1208", "starttime": "00:00:00", "endtime": "01:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 08:00:00 (90\u00b0)", "data": 0.0}, {"daynum": 41552.0, "date": "2013/10/05", "day": "Saturday", "daycount": "J+1208", "starttime": "20:00:00", "endtime": "24:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 23:34:00 (180\u00b0)", "data": 0.0}, {"daynum": 41553.0, "date": "2013/10/06", "day": "Sunday", "daycount": "J+1209", "starttime": "00:00:00", "endtime": "13:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 23:34:00 (180\u00b0)", "data": 0.0}, {"daynum": 41554.0, "date": "2013/10/07", "day": "Monday", "daycount": "J+1210", "starttime": "08:00:00", "endtime": "24:00:00", "text": "SODISM: Specific SST03 \u2013 TANGENT Procedure T0: 08:45:00", "data": 0.0}, {"daynum": 41555.0, "date": "2013/10/08", "day": "Tuesday", "daycount": "J+1211", "starttime": "00:00:00", "endtime": "14:00:00", "text": "SODISM: Specific SST03 \u2013 TANGENT Procedure T0: 08:45:00", "data": 0.0}, {"daynum": 41556.0, "date": "2013/10/09", "day": "Wednesday", "daycount": "J+1212", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41557.0, "date": "2013/10/10", "day": "Thursday", "daycount": "J+1213", "starttime": "00:00:00", "endtime": "17:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 00:00:00 (0\u00b0)", "data": 0.0}, {"daynum": 41558.0, "date": "2013/10/11", "day": "Friday", "daycount": "J+1214", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41559.0, "date": "2013/10/12", "day": "Saturday", "daycount": "J+1215", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41560.0, "date": "2013/10/13", "day": "Sunday", "daycount": "J+1216", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41561.0, "date": "2013/10/14", "day": "Monday", "daycount": "J+1217", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41562.0, "date": "2013/10/15", "day": "Tuesday", "daycount": "J+1218", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41563.0, "date": "2013/10/16", "day": "Wednesday", "daycount": "J+1219", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41564.0, "date": "2013/10/17", "day": "Thursday", "daycount": "J+1220", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41565.0, "date": "2013/10/18", "day": "Friday", "daycount": "J+1221", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41566.0, "date": "2013/10/19", "day": "Saturday", "daycount": "J+1222", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41567.0, "date": "2013/10/20", "day": "Sunday", "daycount": "J+1223", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41568.0, "date": "2013/10/21", "day": "Monday", "daycount": "J+1224", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41569.0, "date": "2013/10/22", "day": "Tuesday", "daycount": "J+1225", "starttime": "20:00:00", "endtime": "24:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: 19:45:00, wavelength: 607 nm)", "data": 0.0}, {"daynum": 41570.0, "date": "2013/10/23", "day": "Wednesday", "daycount": "J+1226", "starttime": "00:00:00", "endtime": "11:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: 19:45:00, wavelength: 607 nm)", "data": 0.0}, {"daynum": 41570.0, "date": "2013/10/23", "day": "Wednesday", "daycount": "J+1226", "starttime": "20:00:00", "endtime": "24:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: 19:45:00, wavelength: 393 nm)", "data": 0.0}, {"daynum": 41571.0, "date": "2013/10/24", "day": "Thursday", "daycount": "J+1227", "starttime": "00:00:00", "endtime": "11:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: 19:45:00, wavelength: 393 nm)", "data": 0.0}, {"daynum": 41571.0, "date": "2013/10/24", "day": "Thursday", "daycount": "J+1227", "starttime": "10:00:00", "endtime": "24:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: 09:45:00, wavelength: 535D nm)", "data": 0.0}, {"daynum": 41572.0, "date": "2013/10/25", "day": "Friday", "daycount": "J+1228", "starttime": "00:00:00", "endtime": "01:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: 09:45:00, wavelength: 535D nm)", "data": 0.0}, {"daynum": 41572.0, "date": "2013/10/25", "day": "Friday", "daycount": "J+1228", "starttime": "01:00:00", "endtime": "15:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: 00:45:00, wavelength: 782 nm)", "data": 0.0}, {"daynum": 41573.0, "date": "2013/10/26", "day": "Saturday", "daycount": "J+1229", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41574.0, "date": "2013/10/27", "day": "Sunday", "daycount": "J+1230", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41575.0, "date": "2013/10/28", "day": "Monday", "daycount": "J+1231", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41576.0, "date": "2013/10/29", "day": "Tuesday", "daycount": "J+1232", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41577.0, "date": "2013/10/30", "day": "Wednesday", "daycount": "J+1233", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41578.0, "date": "2013/10/31", "day": "Thursday", "daycount": "J+1234", "starttime": "03:00:00", "endtime": "07:00:00", "text": "SODISM: Improved MES (stellar) mode New images sequence 2B", "data": 0.0}, {"daynum": 41579.0, "date": "2013/11/01", "day": "Friday", "daycount": "J+1235", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41580.0, "date": "2013/11/02", "day": "Saturday", "daycount": "J+1236", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41581.0, "date": "2013/11/03", "day": "Sunday", "daycount": "J+1237", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41582.0, "date": "2013/11/04", "day": "Monday", "daycount": "J+1238", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41583.0, "date": "2013/11/05", "day": "Tuesday", "daycount": "J+1239", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41584.0, "date": "2013/11/06", "day": "Wednesday", "daycount": "J+1240", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41585.0, "date": "2013/11/07", "day": "Thursday", "daycount": "J+1241", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41586.0, "date": "2013/11/08", "day": "Friday", "daycount": "J+1242", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41587.0, "date": "2013/11/09", "day": "Saturday", "daycount": "J+1243", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41588.0, "date": "2013/11/10", "day": "Sunday", "daycount": "J+1244", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41589.0, "date": "2013/11/11", "day": "Monday", "daycount": "J+1245", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41590.0, "date": "2013/11/12", "day": "Tuesday", "daycount": "J+1246", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41591.0, "date": "2013/11/13", "day": "Wednesday", "daycount": "J+1247", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41592.0, "date": "2013/11/14", "day": "Thursday", "daycount": "J+1248", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41593.0, "date": "2013/11/15", "day": "Friday", "daycount": "J+1249", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41594.0, "date": "2013/11/16", "day": "Saturday", "daycount": "J+1250", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41595.0, "date": "2013/11/17", "day": "Sunday", "daycount": "J+1251", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific procedure GUID-03 Operations 15 degree rotations along XYZ", "data": 0.0}, {"daynum": 41596.0, "date": "2013/11/18", "day": "Monday", "daycount": "J+1252", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific procedure GUID-03 Operations 15 degree rotations along XYZ", "data": 0.0}, {"daynum": 41597.0, "date": "2013/11/19", "day": "Tuesday", "daycount": "J+1253", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41598.0, "date": "2013/11/20", "day": "Wednesday", "daycount": "J+1254", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41599.0, "date": "2013/11/21", "day": "Thursday", "daycount": "J+1255", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41600.0, "date": "2013/11/22", "day": "Friday", "daycount": "J+1256", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41601.0, "date": "2013/11/23", "day": "Saturday", "daycount": "J+1257", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41602.0, "date": "2013/11/24", "day": "Sunday", "daycount": "J+1258", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41603.0, "date": "2013/11/25", "day": "Monday", "daycount": "J+1259", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41604.0, "date": "2013/11/26", "day": "Tuesday", "daycount": "J+1260", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41605.0, "date": "2013/11/27", "day": "Wednesday", "daycount": "J+1261", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41606.0, "date": "2013/11/28", "day": "Thursday", "daycount": "J+1262", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41607.0, "date": "2013/11/29", "day": "Friday", "daycount": "J+1263", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41608.0, "date": "2013/11/30", "day": "Saturday", "daycount": "J+1264", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41609.0, "date": "2013/12/01", "day": "Sunday", "daycount": "J+1265", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41610.0, "date": "2013/12/02", "day": "Monday", "daycount": "J+1266", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41611.0, "date": "2013/12/03", "day": "Tuesday", "daycount": "J+1267", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41612.0, "date": "2013/12/04", "day": "Wednesday", "daycount": "J+1268", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41613.0, "date": "2013/12/05", "day": "Thursday", "daycount": "J+1269", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41614.0, "date": "2013/12/06", "day": "Friday", "daycount": "J+1270", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41615.0, "date": "2013/12/07", "day": "Saturday", "daycount": "J+1271", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41616.0, "date": "2013/12/08", "day": "Sunday", "daycount": "J+1272", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41617.0, "date": "2013/12/09", "day": "Monday", "daycount": "J+1273", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41618.0, "date": "2013/12/10", "day": "Tuesday", "daycount": "J+1274", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41619.0, "date": "2013/12/11", "day": "Wednesday", "daycount": "J+1275", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41620.0, "date": "2013/12/12", "day": "Thursday", "daycount": "J+1276", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41621.0, "date": "2013/12/13", "day": "Friday", "daycount": "J+1277", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41622.0, "date": "2013/12/14", "day": "Saturday", "daycount": "J+1278", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41623.0, "date": "2013/12/15", "day": "Sunday", "daycount": "J+1279", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41624.0, "date": "2013/12/16", "day": "Monday", "daycount": "J+1280", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41625.0, "date": "2013/12/17", "day": "Tuesday", "daycount": "J+1281", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41626.0, "date": "2013/12/18", "day": "Wednesday", "daycount": "J+1282", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41627.0, "date": "2013/12/19", "day": "Thursday", "daycount": "J+1283", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41628.0, "date": "2013/12/20", "day": "Friday", "daycount": "J+1284", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41629.0, "date": "2013/12/21", "day": "Saturday", "daycount": "J+1285", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41630.0, "date": "2013/12/22", "day": "Sunday", "daycount": "J+1286", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41631.0, "date": "2013/12/23", "day": "Monday", "daycount": "J+1287", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41632.0, "date": "2013/12/24", "day": "Tuesday", "daycount": "J+1288", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41633.0, "date": "2013/12/25", "day": "Wednesday", "daycount": "J+1289", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41634.0, "date": "2013/12/26", "day": "Thursday", "daycount": "J+1290", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41635.0, "date": "2013/12/27", "day": "Friday", "daycount": "J+1291", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41636.0, "date": "2013/12/28", "day": "Saturday", "daycount": "J+1292", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41637.0, "date": "2013/12/29", "day": "Sunday", "daycount": "J+1293", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41638.0, "date": "2013/12/30", "day": "Monday", "daycount": "J+1294", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41639.0, "date": "2013/12/31", "day": "Tuesday", "daycount": "J+1295", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41640.0, "date": "2014/01/01", "day": "Wednesday", "daycount": "J+1296", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41641.0, "date": "2014/01/02", "day": "Thursday", "daycount": "J+1297", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41642.0, "date": "2014/01/03", "day": "Friday", "daycount": "J+1298", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41643.0, "date": "2014/01/04", "day": "Saturday", "daycount": "J+1299", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41644.0, "date": "2014/01/05", "day": "Sunday", "daycount": "J+1300", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41645.0, "date": "2014/01/06", "day": "Monday", "daycount": "J+1301", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41646.0, "date": "2014/01/07", "day": "Tuesday", "daycount": "J+1302", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41647.0, "date": "2014/01/08", "day": "Wednesday", "daycount": "J+1303", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41648.0, "date": "2014/01/09", "day": "Thursday", "daycount": "J+1304", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41649.0, "date": "2014/01/10", "day": "Friday", "daycount": "J+1305", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41650.0, "date": "2014/01/11", "day": "Saturday", "daycount": "J+1306", "starttime": "00:00:00", "endtime": "02:00:00", "text": "SODISM: Configuration Restoration", "data": 0.0}, {"daynum": 41650.0, "date": "2014/01/11", "day": "Saturday", "daycount": "J+1306", "starttime": "02:00:00", "endtime": "04:00:00", "text": "PREMOS: Science mode", "data": 0.0}, {"daynum": 41651.0, "date": "2014/01/12", "day": "Sunday", "daycount": "J+1307", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41652.0, "date": "2014/01/13", "day": "Monday", "daycount": "J+1308", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41653.0, "date": "2014/01/14", "day": "Tuesday", "daycount": "J+1309", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41654.0, "date": "2014/01/15", "day": "Wednesday", "daycount": "J+1310", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific procedure GUID-03 Operations 15 degree rotations along XYZ", "data": 0.0}, {"daynum": 41655.0, "date": "2014/01/16", "day": "Thursday", "daycount": "J+1311", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific procedure GUID-03 Operations 15 degree rotations along XYZ", "data": 0.0}, {"daynum": 41656.0, "date": "2014/01/17", "day": "Friday", "daycount": "J+1312", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41657.0, "date": "2014/01/18", "day": "Saturday", "daycount": "J+1313", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41658.0, "date": "2014/01/19", "day": "Sunday", "daycount": "J+1314", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41659.0, "date": "2014/01/20", "day": "Monday", "daycount": "J+1315", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41660.0, "date": "2014/01/21", "day": "Tuesday", "daycount": "J+1316", "starttime": "07:00:00", "endtime": "24:00:00", "text": "SODISM: Specific procedure GUID-03 Operations 15 degree rotations along XYZ", "data": 0.0}, {"daynum": 41661.0, "date": "2014/01/22", "day": "Wednesday", "daycount": "J+1317", "starttime": "00:00:00", "endtime": "08:00:00", "text": "SODISM: Specific procedure GUID-03 Operations 15 degree rotations along XYZ", "data": 0.0}, {"daynum": 41662.0, "date": "2014/01/23", "day": "Thursday", "daycount": "J+1318", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41663.0, "date": "2014/01/24", "day": "Friday", "daycount": "J+1319", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41664.0, "date": "2014/01/25", "day": "Saturday", "daycount": "J+1320", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41665.0, "date": "2014/01/26", "day": "Sunday", "daycount": "J+1321", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41666.0, "date": "2014/01/27", "day": "Monday", "daycount": "J+1322", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41667.0, "date": "2014/01/28", "day": "Tuesday", "daycount": "J+1323", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41668.0, "date": "2014/01/29", "day": "Wednesday", "daycount": "J+1324", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41669.0, "date": "2014/01/30", "day": "Thursday", "daycount": "J+1325", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41670.0, "date": "2014/01/31", "day": "Friday", "daycount": "J+1326", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41671.0, "date": "2014/02/01", "day": "Saturday", "daycount": "J+1327", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41672.0, "date": "2014/02/02", "day": "Sunday", "daycount": "J+1328", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41673.0, "date": "2014/02/03", "day": "Monday", "daycount": "J+1329", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41674.0, "date": "2014/02/04", "day": "Tuesday", "daycount": "J+1330", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41675.0, "date": "2014/02/05", "day": "Wednesday", "daycount": "J+1331", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41676.0, "date": "2014/02/06", "day": "Thursday", "daycount": "J+1332", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41677.0, "date": "2014/02/07", "day": "Friday", "daycount": "J+1333", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41678.0, "date": "2014/02/08", "day": "Saturday", "daycount": "J+1334", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41679.0, "date": "2014/02/09", "day": "Sunday", "daycount": "J+1335", "starttime": "20:00:00", "endtime": "24:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: ~20h, wavelength: 607 nm)", "data": 0.0}, {"daynum": 41680.0, "date": "2014/02/10", "day": "Monday", "daycount": "J+1336", "starttime": "00:00:00", "endtime": "10:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: ~20h, wavelength: 607 nm)", "data": 0.0}, {"daynum": 41680.0, "date": "2014/02/10", "day": "Monday", "daycount": "J+1336", "starttime": "20:00:00", "endtime": "24:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0:~20h, wavelength: 393 nm)", "data": 0.0}, {"daynum": 41681.0, "date": "2014/02/11", "day": "Tuesday", "daycount": "J+1337", "starttime": "00:00:00", "endtime": "10:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0:~20h, wavelength: 393 nm)", "data": 0.0}, {"daynum": 41681.0, "date": "2014/02/11", "day": "Tuesday", "daycount": "J+1337", "starttime": "20:00:00", "endtime": "24:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: ~20h, wavelength: 535D nm)", "data": 0.0}, {"daynum": 41682.0, "date": "2014/02/12", "day": "Wednesday", "daycount": "J+1338", "starttime": "00:00:00", "endtime": "10:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: ~20h, wavelength: 535D nm)", "data": 0.0}, {"daynum": 41682.0, "date": "2014/02/12", "day": "Wednesday", "daycount": "J+1338", "starttime": "20:00:00", "endtime": "24:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: ~20h, wavelength: 782 nm)", "data": 0.0}, {"daynum": 41683.0, "date": "2014/02/13", "day": "Thursday", "daycount": "J+1339", "starttime": "00:00:00", "endtime": "13:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: ~20h, wavelength: 782 nm)", "data": 0.0}, {"daynum": 41684.0, "date": "2014/02/14", "day": "Friday", "daycount": "J+1340", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41685.0, "date": "2014/02/15", "day": "Saturday", "daycount": "J+1341", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41686.0, "date": "2014/02/16", "day": "Sunday", "daycount": "J+1342", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41687.0, "date": "2014/02/17", "day": "Monday", "daycount": "J+1343", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41688.0, "date": "2014/02/18", "day": "Tuesday", "daycount": "J+1344", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41689.0, "date": "2014/02/19", "day": "Wednesday", "daycount": "J+1345", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41690.0, "date": "2014/02/20", "day": "Thursday", "daycount": "J+1346", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41691.0, "date": "2014/02/21", "day": "Friday", "daycount": "J+1347", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41692.0, "date": "2014/02/22", "day": "Saturday", "daycount": "J+1348", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41693.0, "date": "2014/02/23", "day": "Sunday", "daycount": "J+1349", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41694.0, "date": "2014/02/24", "day": "Monday", "daycount": "J+1350", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41695.0, "date": "2014/02/25", "day": "Tuesday", "daycount": "J+1351", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41696.0, "date": "2014/02/26", "day": "Wednesday", "daycount": "J+1352", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41697.0, "date": "2014/02/27", "day": "Thursday", "daycount": "J+1353", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41698.0, "date": "2014/02/28", "day": "Friday", "daycount": "J+1354", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41699.0, "date": "2014/03/01", "day": "Saturday", "daycount": "J+1355", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41700.0, "date": "2014/03/02", "day": "Sunday", "daycount": "J+1356", "starttime": "02:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 782, DL images)", "data": 0.0}, {"daynum": 41701.0, "date": "2014/03/03", "day": "Monday", "daycount": "J+1357", "starttime": "00:00:00", "endtime": "18:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 782, DL images)", "data": 0.0}, {"daynum": 41702.0, "date": "2014/03/04", "day": "Tuesday", "daycount": "J+1358", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41703.0, "date": "2014/03/05", "day": "Wednesday", "daycount": "J+1359", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41704.0, "date": "2014/03/06", "day": "Thursday", "daycount": "J+1360", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}]}
diff --git a/Module_ProjectTimeline_sitools2/zoom.png b/Module_ProjectTimeline_sitools2/zoom.png
deleted file mode 100644
index 05f379e..0000000
Binary files a/Module_ProjectTimeline_sitools2/zoom.png and /dev/null differ
diff --git a/solar/Enhanced_Node_Editor_adminInterface/GraphsNodeWin.js b/solar/Enhanced_Node_Editor_adminInterface/GraphsNodeWin.js
new file mode 100644
index 0000000..1c45a45
--- /dev/null
+++ b/solar/Enhanced_Node_Editor_adminInterface/GraphsNodeWin.js
@@ -0,0 +1,268 @@
+/***************************************
+* Copyright 2010-2014 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
+* 
+* This file is part of SITools2.
+* 
+* SITools2 is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+* 
+* SITools2 is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+* 
+* You should have received a copy of the GNU General Public License
+* along with SITools2.  If not, see <http://www.gnu.org/licenses/>.
+***************************************/
+/*global Ext, sitools, ID, i18n, document, showResponse, alertFailure, LOCALE, ImageChooser, 
+ showHelp*/
+Ext.namespace('sitools.component.projects');
+
+Ext.define('sitools.admin.graphs.GraphsNodeWin', {
+    extend : 'Ext.Window',
+    width : 350,
+    modal : true,
+    closable : false,
+
+    initComponent : function () {
+        projectId = this.projectId;
+        this.title = i18n.get('label.nodeDescription');
+        /* paramétres du formulaire */
+        this.itemsForm = [{
+            fieldLabel : i18n.get('label.name'),
+            name : 'name',
+            anchor : '100%',
+            allowBlank : false
+        }, {
+            fieldLabel : i18n.get('label.description'),
+            name : 'description',
+            anchor : '100%'
+        }, {
+            xtype : 'sitoolsSelectImage',
+            name : 'image',
+            fieldLabel : i18n.get('label.image'),
+            anchor : '100%',
+            growMax : 400
+        },{
+            xtype: 'button',
+            id: 'linktodataset',
+            text: '<span style="">Link to a dataset</span>',
+            anchor: '65%',
+            margin: '0 5% 0 0',
+            handler: function() {
+                up = Ext.create("sitools.admin.graphs.GraphsDatasetWin", {
+                    graphTree : true,
+                    url : loadUrl.get('APP_URL') + '/projects/' + projectId + '?media=json',
+                    mode : 'link',
+                    form : form
+                });
+                up.show(this);
+
+            }
+        }, {
+            xtype: 'button',
+            id: 'unlinkbutton',
+            text: '<span style="">Unlink</span>',
+            disabled:true,
+            anchor: '35%',
+            margin: '0 0 0 5%',
+            handler: function() {
+                Ext.getCmp('unlinkbutton').setDisabled(true);
+                form.findField('nbRecord').setValue('');
+                form.findField('datasetURL').setValue('');
+                Ext.getCmp('datatablecheckbox').setValue(false);
+                Ext.getCmp('queryformcheckbox').setValue(false);
+                Ext.getCmp('datatablecheckbox').setDisabled(true);
+                Ext.getCmp('queryformcheckbox').setDisabled(true);
+            }
+        },{
+            name : 'nbRecord',
+            fieldLabel : 'Number of records',
+            readOnly: true,
+            cls: 'x-item-disabled',
+            anchor : '100%'
+        },{
+            name : 'datasetURL',
+            fieldLabel : 'Dataset URL',
+            readOnly: true,
+            cls: 'x-item-disabled',
+            anchor : '100%'
+        }, {
+            xtype: 'checkboxfield',
+            boxLabel: 'Data table',
+            name: 'datatable',
+            width: '40%',
+            margin: '0 10% 0 10%',
+            disabled: true,
+            id: 'datatablecheckbox'
+        }, {
+            xtype: 'checkboxfield',
+            boxLabel: 'Query form',
+            name: 'queryform',
+            width: '40%',
+            margin: '0 10% 0 10%',
+            disabled:true,
+            id: 'queryformcheckbox'
+        } ];
+        this.bbar = {
+            xtype : 'toolbar',
+            defaults : {
+                scope : this
+            },
+            items : [ '->', {
+                text : i18n.get('label.ok'),
+                handler : this._onOK
+            }, {
+                text : i18n.get('label.cancel'),
+                handler : this._onCancel
+            } ]
+        };
+
+        this.formPanel = Ext.create('Ext.form.Panel', {
+            labelWidth : 100,
+            border : false,
+            bodyBorder : false,
+            padding : '5 5 5 5',
+            defaultType : 'textfield',
+            items : this.itemsForm
+
+        });
+
+        this.items = [ this.formPanel ];
+        this.callParent(arguments);
+    },
+
+    afterRender : function () {
+        this.callParent(arguments);
+
+        if (this.mode == 'edit') {
+            var node = this.node;
+            form = this.formPanel.getForm();
+            var rec = {};
+            if (node.get('text').search("clickDatasetIcone") != -1){
+                rec.name = node.get('text').split('<br/>')[0];
+                //alert(node.get('text'));
+                rec.datasetURL = node.get('text').split('clickDatasetIcone(\'')[1].split('\', \'')[0];
+                rec.nbRecord = node.get('nbRecord');
+                if (node.get('text').search("Display data") != -1){
+                    Ext.getCmp('datatablecheckbox').setValue(true);
+                }
+                if (node.get('text').search("Query form") != -1){
+                    Ext.getCmp('queryformcheckbox').setValue(true);
+                }
+            } else {
+                rec.name = node.get('text');
+            }
+            rec.image = node.get('image').url;
+            rec.description = node.get('description');
+            form.setValues(rec);
+        } else {
+            form = this.formPanel.getForm();
+        }
+        if (!Ext.isEmpty(form.findField('datasetURL').getValue())){
+            Ext.getCmp('linktodataset').setText('<span style="">Link to another dataset</span>');
+            Ext.getCmp('unlinkbutton').setDisabled(false);
+            Ext.getCmp('datatablecheckbox').setDisabled(false);
+            Ext.getCmp('queryformcheckbox').setDisabled(false);
+
+        }
+    },
+
+    _onOK : function () {
+        var form = this.formPanel.getForm();
+        //alert(form.findField('datatable').checked);
+        if (!form.isValid()) {
+            return;
+        }
+
+        var values = form.getValues();
+
+        if (!Ext.isEmpty(values.datasetURL) && !form.findField('datatable').checked && !form.findField('queryform').checked) {
+            Ext.Msg.alert("Form error", "Please choose a method to show data.");
+            return false;
+        }
+        var image = {};
+        console.log(values);
+        if (!Ext.isEmpty(values.image)) {
+            image.url = values.image;
+            image.type = "Image";
+            image.mediaType = "Image";
+        }
+        if (this.mode == 'edit') {
+            if (!Ext.isEmpty(values.datasetURL)) {
+                var namee = values.name;
+                if (form.findField('datatable').checked || form.findField('queryform').checked) {
+                    namee += '<br/>';
+                }
+                if (form.findField('datatable').checked) {
+                    namee += '<a href="#" class="overDatasetService" onClick="sitools.user.utils.DatasetUtils.clickDatasetIcone(\''+values.datasetURL
+                    +'\', \'data\');return false;"><img class="datasetochart_icon" src="/sitools/common/res/images/icons/32x32/tree_datasets_32.png" data-qtip="Display data"></a>';
+                }
+                if (form.findField('queryform').checked) {
+                    namee += '<a href="#" class="overDatasetService" onClick="sitools.user.utils.DatasetUtils.clickDatasetIcone(\''+values.datasetURL
+                    +'\', \'forms\');return false;"><img class="datasetochart_icon" src="/sitools/common/res/images/icons/32x32/openSearch_32.png" data-qtip="Query form"></a>';
+                }
+                this.node.set('text', namee);
+            } else {
+                this.node.set('text', values.name);
+            }
+            if (!Ext.isEmpty(values.nbRecord)) {
+                this.node.set('nbRecord', values.nbRecord);
+            } else this.node.set('nbRecord', '0');
+            this.node.set('description', values.description);
+            this.node.set('image', image);
+            console.log(this.node);
+            var saveButton = this.graphTree.graphsCrud.down('button#saveGraphBtnId');
+            saveButton.addCls('not-save-textfield');
+        } else {
+            var newNode = Ext.create('sitools.admin.graphs.GraphNodeModel', {
+                image : image,
+                description : values.description,
+                type : "node",
+                children : []
+            });
+            //console.log(newNode);
+            if (!Ext.isEmpty(values.nbRecord)) {
+                newNode.set('nbRecord', values.nbRecord);
+            } else newNode.set('nbRecord', '0');
+            if (!Ext.isEmpty(values.datasetURL)) {
+                var namee = values.name;
+                if (form.findField('datatable').checked || form.findField('queryform').checked) {
+                    namee += '<br/>';
+                }
+                if (form.findField('datatable').checked) {
+                    namee += '<a href="#" class="overDatasetService" onClick="sitools.user.utils.DatasetUtils.clickDatasetIcone(\''+values.datasetURL
+                    +'\', \'data\');return false;"><img class="datasetochart_icon" src="/sitools/common/res/images/icons/32x32/tree_datasets_32.png" data-qtip="Display data"></a>';
+                }
+                if (form.findField('queryform').checked) {
+                    namee += '<a href="#" class="overDatasetService" onClick="sitools.user.utils.DatasetUtils.clickDatasetIcone(\''+values.datasetURL
+                    +'\', \'forms\');return false;"><img class="datasetochart_icon" src="/sitools/common/res/images/icons/32x32/openSearch_32.png" data-qtip="Query form"></a>';
+                }
+                newNode.set('text', namee);
+            } else {
+                newNode.set('text', values.name);
+            }
+
+            if (!this.node.isExpanded()) {
+                this.node.expand();
+            }
+            this.node.appendChild(newNode);
+        }
+
+        //var saveButton = this.graphTree.graphsCrud.down('button#saveGraphBtnId');
+        //saveButton.addCls('not-save-textfield');
+        //console.log(saveButton);
+        this.close();
+    },
+
+    _onCancel : function () {
+        this.destroy();
+    },
+
+    _onUpload : function () {
+        Ext.msg.alert("Information", "TODO");
+    }
+
+});
diff --git a/solar/asynchronous_download_public/Asynchronous_Download_java_sitools2/PublicOrderResource.java b/solar/asynchronous_download_public/Asynchronous_Download_java_sitools2/PublicOrderResource.java
new file mode 100644
index 0000000..0ff7019
--- /dev/null
+++ b/solar/asynchronous_download_public/Asynchronous_Download_java_sitools2/PublicOrderResource.java
@@ -0,0 +1,442 @@
+ /*******************************************************************************
+ * Copyright 2010-2014 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
+ *
+ * This file is part of SITools2.
+ *
+ * SITools2 is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * SITools2 is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with SITools2.  If not, see <http://www.gnu.org/licenses/>.
+ ******************************************************************************/
+package fr.cnes.sitools.resources.order;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.logging.Level;
+import java.util.Map;
+import java.util.HashMap;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+
+import org.restlet.data.Reference;
+import org.restlet.data.Status;
+import org.restlet.representation.Representation;
+import org.restlet.resource.ResourceException;
+import org.restlet.security.User;
+
+import fr.cnes.sitools.common.exception.SitoolsException;
+import fr.cnes.sitools.dataset.database.DatabaseRequest;
+import fr.cnes.sitools.datasource.jdbc.model.AttributeValue;
+import fr.cnes.sitools.datasource.jdbc.model.Record;
+import fr.cnes.sitools.plugins.resources.model.ResourceModel;
+import fr.cnes.sitools.plugins.resources.model.ResourceParameter;
+import fr.cnes.sitools.resources.order.utils.ListReferencesAPI;
+import fr.cnes.sitools.resources.order.utils.OrderAPI;
+import fr.cnes.sitools.resources.order.utils.OrderResourceUtils;
+import fr.cnes.sitools.server.Consts;
+import fr.cnes.sitools.util.RIAPUtils;
+import fr.cnes.sitools.order.model.Order;
+import org.restlet.Context;
+import fr.cnes.sitools.tasks.business.Task;
+import fr.cnes.sitools.mail.model.Mail;
+import org.restlet.Request;
+import org.restlet.data.Method;
+import org.restlet.representation.ObjectRepresentation;
+import fr.cnes.sitools.util.TemplateUtils;
+import fr.cnes.sitools.util.Util;
+
+
+/**
+ * Default OrderResource implementation.
+ * <p>
+ * The parameter colUrl is used to specify a column containing the list of URLs of the files to order. Each file is then
+ * either copied or Zipped to the userstorage of the user.
+ * </p>
+ * 
+ * 
+ * @author m.gond
+ */
+public class PublicOrderResource extends AbstractDatasetOrderResource {
+  /** Maximum number of file to download authorized, default to -1 => no limit */
+  private int nbMaxDownload = -1;
+  private fr.cnes.sitools.security.model.User userDetails; 
+  /*
+   * (non-Javadoc)
+   *
+   * @see fr.cnes.sitools.resources.order.AbstractOrderResource#checkUser()
+   */
+  @Override
+  public void checkUser() {
+    User user = getClientInfo().getUser();
+    if (user == null) {
+      userDetails=null;
+    }
+    else{
+      try {
+        userDetails = this.getUserDetails(user.getIdentifier(), getContext());
+      }
+      catch (SitoolsException e) {
+        userDetails=null;
+      }
+
+    }
+
+
+  }
+
+  public void notifyAdminEnd() throws SitoolsException {
+    try {
+      sendMail(order, getContext(), userDetails, task);
+    }
+    catch (SitoolsException e) {
+      // ne rien faire si le mail n'est pas parti
+      OrderAPI.createEvent(order, getContext(), "MAIL_NOT_SEND_TO_USER");
+    }
+  }
+
+  protected void sendMail(Order order, Context context, fr.cnes.sitools.security.model.User user, Task task)
+	throws SitoolsException{
+    List<String> toList = new ArrayList<String>();
+if(user!=null){	
+    String userAdd = user.getEmail();
+    if (userAdd != null && !userAdd.equals("")) {
+      // System.out.println("EMAIL ADDRESS = " + userAdd);
+      toList.add(userAdd);
+
+      Mail mailToUser = new Mail();
+      mailToUser.setToList(toList);
+
+      // TODO EVOL : email subject should be a parameter
+      mailToUser.setSubject(getMailSubject());
+
+      // default body
+      mailToUser.setBody(getMailBody(mailToUser));
+
+      org.restlet.Response sendMailResponse = null;
+      try {
+        // riap request to MailAdministration application
+        Request request = new Request(Method.POST, RIAPUtils.getRiapBase()
+            + settings.getString(Consts.APP_MAIL_ADMIN_URL), new ObjectRepresentation<Mail>(mailToUser));
+
+        sendMailResponse = getContext().getClientDispatcher().handle(request);
+      }
+      catch (Exception e) {
+        getLogger().warning("SERVER ERROR SENDING EMAIL TO USER");
+        throw new ResourceException(Status.SERVER_ERROR_INTERNAL, e);
+      }
+      if (sendMailResponse.getStatus().isError()) {
+        throw new SitoolsException("SERVER ERROR SENDING EMAIL TO USER");
+      }
+
+      // OK
+    }
+    else {
+      throw new SitoolsException("NO EMAIL ADDRESS DEFINED");
+    }
+}
+else{
+  ResourceModel resourceModel = getModel();
+  ResourceParameter email = resourceModel.getParameterByName("Email");
+  String userAdd = this.getRequest().getResourceRef().getQueryAsForm().getFirstValue("Email");
+ //String userAdd = email.getValue();
+  getContext().getLogger().info("******************* UserEmail : "+userAdd);
+  if (userAdd != null && !userAdd.equals("")) {
+    toList.add(userAdd);
+    Mail mailToPublic = new Mail();
+    mailToPublic.setToList(toList);
+    mailToPublic.setSubject(getMailSubject());
+    mailToPublic.setBody(getMailBodyPublic(mailToPublic));
+    org.restlet.Response sendMailResponse = null;
+      try {
+        Request request = new Request(Method.POST, RIAPUtils.getRiapBase()
+            + settings.getString(Consts.APP_MAIL_ADMIN_URL), new ObjectRepresentation<Mail>(mailToPublic));
+
+        sendMailResponse = getContext().getClientDispatcher().handle(request);
+      }
+      catch (Exception e) {
+        getLogger().warning("SERVER ERROR SENDING EMAIL TO PUBLIC DOWNLOADER");
+        throw new ResourceException(Status.SERVER_ERROR_INTERNAL, e);
+      }
+      if (sendMailResponse.getStatus().isError()) {
+        throw new SitoolsException("SERVER ERROR SENDING EMAIL TO PUBLIC DOWNLOADER");
+      }
+  }
+  else{
+    throw new SitoolsException("NO EMAIL ADDRESS DEFINED");
+  }
+}
+
+  }
+
+
+protected String getMailBodyPublic(Mail mailToPublic) {
+    // default body
+    String orderNameEncoded = order.getDescription();
+    String fileNameEncoded = order.getDescription();
+	
+    try{
+	orderNameEncoded = URLEncoder.encode(order.getDescription(),"UTF-8");
+    } catch (UnsupportedEncodingException e){
+        e.printStackTrace();
+    }
+    try{
+        fileNameEncoded = URLEncoder.encode(orderNameEncoded,"UTF-8");
+    } catch (UnsupportedEncodingException e){
+        e.printStackTrace();
+    }
+    String mailBody = "Dear visiter"+":<br/><br/>Your command is complete. <br/>" + "File Name : "
+        + order.getDescription() + "<br/>"
+        +"Now you can click the link below to download it:<br/><a href='http://idoc-picard.ias.u-psud.fr:8182/sitools/userstorage/public/files/resources_orders/"
+	+orderNameEncoded+"/"+fileNameEncoded+".zip"
+        +"'>http://idoc-picard.ias.u-psud.fr:8182/sitools/userstorage/public/files/resources_orders/"
+	+orderNameEncoded+"/"+fileNameEncoded+".zip</a>"
+	+"<br/><br/>Admin<br/><a href='http://idoc-picard.ias.u-psud.fr'>PICARD ARCHIVE</a>";
+
+    // use a freemarker template for email body with Mail object
+    String templatePath = settings.getRootDirectory() + settings.getString(Consts.TEMPLATE_DIR)
+        + "mail.order.complete.ftl";
+
+    Map<String, Object> root = new HashMap<String, Object>();
+    root.put("mail", mailToPublic);
+    root.put("order", order);
+    String adminmail = settings.getString("Starter.StatusService.CONTACT_MAIL");
+    root.put("adminmail", adminmail);
+
+    TemplateUtils.describeObjectClassesForTemplate(templatePath, root);
+
+    root.put("context", getContext());
+
+    String body = TemplateUtils.toString(templatePath, root);
+    if (Util.isNotEmpty(body)) {
+      return body;
+    }
+    else {
+      return mailBody;
+    }
+  }
+
+
+
+  @Override
+  public ListReferencesAPI listFilesToOrder(DatabaseRequest dbRequest) throws SitoolsException {
+    task.setCustomStatus("Creating list of files to order");
+    ResourceModel resourceModel = getModel();
+    ResourceParameter nbMaxDownloadParam = resourceModel.getParameterByName("too_many_selected_threshold");
+    if (nbMaxDownloadParam != null && !"".equals(nbMaxDownloadParam)) {
+      try {
+        nbMaxDownload = Integer.parseInt(nbMaxDownloadParam.getValue());
+      }
+      catch (NumberFormatException e) {
+        nbMaxDownload = -1;
+      }
+    }
+    
+    if (nbMaxDownload != -1 && nbMaxDownload < dbRequest.getCount()) {
+      ResourceParameter errorTextParam = resourceModel.getParameterByName("too_many_selected_threshold_text");
+      String errorText = (errorTextParam != null && !"".equals(errorTextParam.getValue())) ? errorTextParam.getValue()
+          : "Too many file selected";
+      throw new ResourceException(Status.CLIENT_ERROR_BAD_REQUEST, errorText);
+    }
+
+    ResourceParameter colUrl = resourceModel.getParameterByName("colUrl");
+    if (colUrl.getValue() == null || colUrl.getValue().equals("")) {
+      throw new SitoolsException("NO COLUMN DEFINED FOR ORDER");
+    }
+
+    ListReferencesAPI list = new ListReferencesAPI(settings.getPublicHostDomain() + settings.getString(Consts.APP_URL));
+    while (dbRequest.nextResult()) {
+      Record rec = dbRequest.getRecord();
+      AttributeValue attributeValue = OrderResourceUtils.getInParam(colUrl, rec);
+
+      if (attributeValue != null && attributeValue.getValue() != null) {
+        // get the file path
+        String filePath = (String) attributeValue.getValue();
+        String urlAttach = settings.getString(Consts.APP_DATASTORAGE_URL);
+        // if it contains "/datastorage" get rid of everything before
+        if (filePath.contains(urlAttach)) {
+          filePath = filePath.substring(filePath.lastIndexOf(urlAttach));
+        }
+        if (filePath.startsWith("http://")) {
+          list.addReferenceSource(new Reference(filePath));
+        }
+        else {
+          list.addReferenceSource(new Reference(RIAPUtils.getRiapBase() + filePath));
+        }
+
+      }
+    }
+    return list;
+  }
+
+  @Override
+  public Representation processOrder(ListReferencesAPI listReferences) throws SitoolsException {
+    task.setCustomStatus("Order processing");
+    OrderAPI.createEvent(order, getContext(), "PROCESSING ORDER");
+
+    List<Reference> listOfFilesToOrder = listReferences.getReferencesSource();
+
+    getContext().getLogger().info("******************* User : "+task.getUser());
+    getContext().getLogger().info("******************* folder : "+settings.getString(Consts.USERSTORAGE_RESOURCE_ORDER_DIR) + folderName);
+    Reference destRef = OrderResourceUtils.getUserAvailableFolderPath(task.getUser(),
+        settings.getString(Consts.USERSTORAGE_RESOURCE_ORDER_DIR) + folderName, getContext());
+
+    ResourceModel resourceModel = getModel();
+    ResourceParameter zipParam = resourceModel.getParameterByName("zip");
+
+    // zip is a USER_INPUT parameter, let's get it from the request
+    // parameters
+    String zipValue = this.getRequest().getResourceRef().getQueryAsForm().getFirstValue("zip");
+    if (zipValue == null || zipValue.equals("") || (!"false".equals(zipValue) && !"true".equals(zipValue))) {
+      zipValue = zipParam.getValue();
+    }
+
+    Boolean zip = Boolean.parseBoolean(zipValue);
+    if (zip) {
+      task.getLogger().log(Level.INFO, zipParam.getName().toUpperCase() + " in progress for user : " 
+          + task.getUser().getIdentifier() + " -> ip :" + getClientInfo().getUpstreamAddress());
+      
+      task.getLogger().info("List of files ordered :");
+      for (Reference r : listReferences.getReferencesSource()) {
+        task.getLogger().info(" - " + r.getIdentifier().substring(16));
+        r.getPath();
+      }
+      zip(listOfFilesToOrder, listReferences, destRef);
+    }
+    else {
+      task.getLogger().log(Level.INFO, "FILE in progress for user : "
+          + task.getUser().getIdentifier() + " -> ip :" + getClientInfo().getUpstreamAddress());
+      task.getLogger().info("List of files ordered :");
+      for (Reference r : listReferences.getReferencesSource()) {
+        task.getLogger().info(" - " + r.getIdentifier().substring(16));
+        r.getPath();
+      }
+      
+      Reference ref;
+      for (Iterator<Reference> iterator = listOfFilesToOrder.iterator(); iterator.hasNext();) {
+        Reference sourceRef = iterator.next();
+        task.getLogger().log(Level.WARNING, "{0}", sourceRef);
+        try {
+          ref = new Reference(destRef);
+          ref.addSegment(sourceRef.getLastSegment());
+          OrderResourceUtils.copyFile(sourceRef, ref, getRequest().getClientInfo(), getContext());
+          listReferences.addReferenceDest(ref);
+        }
+        catch (SitoolsException e) {
+          task.getLogger().log(Level.WARNING, "File not copied : " + sourceRef, e);
+        }
+      }
+    }
+
+    task.getLogger().log(Level.INFO, "Number of downloaded files : " + listOfFilesToOrder.size());
+    
+    // set the result in the task
+    task.setUrlResult(settings.getString(Consts.APP_URL) + settings.getString(Consts.APP_ORDERS_USER_URL) + "/"
+        + order.getId());
+
+    try {
+      // copy the indexFile to the destination reference
+      String orderFileListName = fileName;
+      if (orderFileListName == null || "".equals(orderFileListName)) {
+        orderFileListName = OrderResourceUtils.FILE_LIST_PATTERN.replace("{orderName}", ds.getName());
+        orderFileListName = orderFileListName.replace("{timestamp}", formatedDate);
+      }
+      else {
+        orderFileListName += "_fileList";
+      }
+      destRef.addSegment(orderFileListName);
+      destRef.setExtensions("txt");
+      Reference urlUserIndex = listReferences.copyToUserStorage(destRef, getContext(), getClientInfo());
+
+      // add it the order
+      ArrayList<String> orderedResource = new ArrayList<String>();
+      orderedResource.add(urlUserIndex.toString());
+      order.setResourceCollection(orderedResource);
+      order = OrderAPI.updateOrder(order, getContext());
+
+    }
+    catch (IOException e) {
+      throw new SitoolsException("Error while creating the file index in the userstorage", e);
+    }
+    return null;
+
+  }
+
+  /**
+   * Create the Zip from the listOfFilesToOrder
+   * 
+   * @param listOfFilesToOrder
+   *          the list of files to order
+   * @param listReferences
+   *          the ListReferenceAPI to add some reference
+   * @param destRef
+   *          the destination reference
+   * @throws SitoolsException
+   *           if there is an error
+   */
+  private void zip(List<Reference> listOfFilesToOrder, ListReferencesAPI listReferences, Reference destRef)
+    throws SitoolsException {
+
+    String zipFileName = fileName;
+    if (zipFileName == null || "".equals(zipFileName)) {
+      zipFileName = OrderResourceUtils.ZIP_FILE_PATTERN.replace("{orderName}", ds.getName());
+      zipFileName = zipFileName.replace("{timestamp}", formatedDate);
+    }
+
+    Reference zipRef = new Reference(RIAPUtils.getRiapBase() + settings.getString(Consts.APP_TMP_FOLDER_URL));
+    zipRef.addSegment(zipFileName);
+    zipRef.setExtensions("zip");
+
+    // create an index and add it to the zip files
+    Reference ref;
+    Reference sourceRef;
+    for (Iterator<Reference> iterator = listOfFilesToOrder.iterator(); iterator.hasNext();) {
+      sourceRef = iterator.next();
+      ref = new Reference(destRef);
+      ref.addSegment(sourceRef.getLastSegment());
+      listReferences.addReferenceDest(ref);
+    }
+
+    // copy the indexFile to the destination reference
+    Reference destRefListFileInZip = new Reference(destRef);
+
+    String orderFileListName = fileName;
+    if (orderFileListName == null || "".equals(orderFileListName)) {
+      orderFileListName = OrderResourceUtils.FILE_LIST_PATTERN.replace("{orderName}", ds.getName());
+      orderFileListName = orderFileListName.replace("{timestamp}", formatedDate);
+    }
+    else {
+      orderFileListName += "_fileList";
+    }
+    destRefListFileInZip.addSegment(orderFileListName);
+    destRefListFileInZip.setExtensions("txt");
+    try {
+      listReferences.copyToUserStorage(destRefListFileInZip, getContext(), getClientInfo());
+      listReferences.clearReferencesDest();
+      listReferences.addReferenceSource(destRefListFileInZip);
+    }
+    catch (IOException e) {
+      e.printStackTrace();
+    }
+
+    OrderResourceUtils.zipFiles(listOfFilesToOrder, settings.getTmpFolderUrl() + "/" + zipFileName + ".zip",
+        getRequest().getClientInfo(), getContext());
+    destRef.addSegment(zipRef.getLastSegment());
+    OrderResourceUtils.copyFile(zipRef, destRef, getRequest().getClientInfo(), getContext());
+    OrderResourceUtils.deleteFile(zipRef, getRequest().getClientInfo(), getContext());
+
+    Reference destZipRef = new Reference(destRef);
+    listReferences.addReferenceDest(destZipRef);
+
+    destRef.setLastSegment("");
+  }
+}
diff --git a/solar/asynchronous_download_public/Asynchronous_Download_java_sitools2/PublicOrderResourceFacade.java b/solar/asynchronous_download_public/Asynchronous_Download_java_sitools2/PublicOrderResourceFacade.java
new file mode 100644
index 0000000..0bd8cf7
--- /dev/null
+++ b/solar/asynchronous_download_public/Asynchronous_Download_java_sitools2/PublicOrderResourceFacade.java
@@ -0,0 +1,105 @@
+ /*******************************************************************************
+ * Copyright 2010-2014 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
+ *
+ * This file is part of SITools2.
+ *
+ * SITools2 is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * SITools2 is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with SITools2.  If not, see <http://www.gnu.org/licenses/>.
+ ******************************************************************************/
+package fr.cnes.sitools.resources.order;
+
+import org.restlet.data.Form;
+import org.restlet.ext.wadl.MethodInfo;
+import org.restlet.representation.Representation;
+import org.restlet.representation.Variant;
+
+import fr.cnes.sitools.common.resource.SitoolsParameterizedResource;
+import fr.cnes.sitools.dataset.DataSetApplication;
+import fr.cnes.sitools.dataset.database.common.DataSetExplorerUtil;
+import fr.cnes.sitools.tasks.TaskUtils;
+
+/**
+ * Facade for PublicOrderResource
+ * 
+ * 
+ * @author m.gond
+ */
+public class PublicOrderResourceFacade extends SitoolsParameterizedResource implements IOrderResource {
+  /**
+   * Description de la ressource
+   */
+  @Override
+  public void sitoolsDescribe() {
+    setName("PublicOrderResourceFacade");
+    setDescription("Resource to order data");
+  }
+
+  /**
+   * Description WADL de la methode POST
+   * 
+   * @param info
+   *          The method description to update.
+   */
+  @Override
+  public void describePost(MethodInfo info) {
+    info.setDocumentation("Method to order data from a dataset");
+    info.setIdentifier("order");
+    addStandardPostOrPutRequestInfo(info);
+    DataSetExplorerUtil.addDatasetExplorerGetRequestInfo(info);
+    DataSetApplication application = (DataSetApplication) getApplication();
+    DataSetExplorerUtil.addDatasetExplorerGetFilterInfo(info, application.getFilterChained());
+    addStandardResponseInfo(info);
+    addStandardInternalServerErrorInfo(info);
+    this.addInfo(info);
+  }
+
+  /**
+   * Create the order
+   * 
+   * @param represent
+   *          the {@link Representation} entity
+   * @param variant
+   *          The {@link Variant} needed
+   * @return a representation
+   */
+  public Representation orderPost(Representation represent, Variant variant) {
+    processBody();
+    return TaskUtils.execute(this, variant);
+  }
+
+  /**
+   * Create the order
+   * 
+   * @param variant
+   *          The {@link Variant} needed
+   * @return a representation
+   */
+  public Representation orderGet(Variant variant) {
+    return TaskUtils.execute(this, variant);
+  }
+
+  /**
+   * process the body and save the request entity {@link Representation}
+   */
+  public void processBody() {
+    Representation body = this.getRequest().getEntity();
+    if (body != null && body.isAvailable() && body.getSize() > 0) {
+      Form bodyForm = new Form(body);
+      getContext().getAttributes().put(TaskUtils.BODY_CONTENT, bodyForm);
+    }
+    else {
+      getContext().getAttributes().remove(TaskUtils.BODY_CONTENT);
+    }
+  }
+
+}
diff --git a/solar/asynchronous_download_public/Asynchronous_Download_java_sitools2/PublicOrderResourceModel.java b/solar/asynchronous_download_public/Asynchronous_Download_java_sitools2/PublicOrderResourceModel.java
new file mode 100644
index 0000000..4c26931
--- /dev/null
+++ b/solar/asynchronous_download_public/Asynchronous_Download_java_sitools2/PublicOrderResourceModel.java
@@ -0,0 +1,168 @@
+ /*******************************************************************************
+ * Copyright 2010-2014 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
+ *
+ * This file is part of SITools2.
+ *
+ * SITools2 is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * SITools2 is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with SITools2.  If not, see <http://www.gnu.org/licenses/>.
+ ******************************************************************************/
+package fr.cnes.sitools.resources.order;
+
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import fr.cnes.sitools.common.validator.ConstraintViolation;
+import fr.cnes.sitools.common.validator.ConstraintViolationLevel;
+import fr.cnes.sitools.common.validator.Validator;
+import fr.cnes.sitools.dataset.DataSetApplication;
+import fr.cnes.sitools.plugins.resources.model.DataSetSelectionType;
+import fr.cnes.sitools.plugins.resources.model.ResourceModel;
+import fr.cnes.sitools.plugins.resources.model.ResourceParameter;
+import fr.cnes.sitools.plugins.resources.model.ResourceParameterType;
+import fr.cnes.sitools.tasks.model.TaskResourceModel;
+import fr.cnes.sitools.tasks.model.TaskRunTypeAdministration;
+
+/**
+ * Model for OrderResource
+ * 
+ * 
+ * @author m.gond
+ */
+public class PublicOrderResourceModel extends TaskResourceModel {
+
+  /**
+   * Constructor
+   */
+  public PublicOrderResourceModel() {
+
+    super();
+    setClassAuthor("Shuo");
+    setClassOwner("IAS");
+    setClassVersion("0.1");
+    setName("PublicOrderResourceModel");
+    setDescription("Order resources associated to metadata for public user and save it in public storage. (Can also create a ZIP, TAR or TAR.GZ 'on the fly')");
+    /** Resource facade */
+    setResourceClassName("fr.cnes.sitools.resources.order.PublicOrderResourceFacade");
+    /** Resource d'implémentation */
+    setResourceImplClassName("fr.cnes.sitools.resources.order.PublicOrderResource");
+
+    setRunTypeAdministration(TaskRunTypeAdministration.TASK_DEFAULT_RUN_ASYNC);
+
+    ResourceParameter paramColUrl = new ResourceParameter("colUrl", "Colum containing data url for order",
+        ResourceParameterType.PARAMETER_INTERN);
+    /** Type de paramètre pour lister les colonnes du dataset */
+    paramColUrl.setValueType("xs:dataset.columnAlias");
+    ResourceParameter param2 = new ResourceParameter("zip",
+        "(true or false) If the data needs to be zipped at the end", ResourceParameterType.PARAMETER_USER_INPUT);
+    param2.setValue("false");
+    /** Type de colonne booléen */
+    param2.setValueType("xs:boolean");
+    ResourceParameter email= new ResourceParameter("Email","Send alert email when download ready",ResourceParameterType.PARAMETER_USER_INPUT);
+    email.setValue("");
+    email.setValueType("xs:string");
+    this.addParam(paramColUrl);
+    this.addParam(param2);
+    this.addParam(email);
+
+    this.setApplicationClassName(DataSetApplication.class.getName());
+    this.getParameterByName("methods").setValue("POST");
+    this.setDataSetSelection(DataSetSelectionType.MULTIPLE);
+
+    // paramètres pour la limitation du nombre de fichiers
+    ResourceParameter paramMaxWarningThreshold = new ResourceParameter("max_warning_threshold",
+        "Maximum number of files allowed to be downloaded before client warning, download is still allowed",
+        ResourceParameterType.PARAMETER_USER_GUI);
+    paramMaxWarningThreshold.setValueType("xs:integer");
+
+    ResourceParameter paramTooManySelectedThreshold = new ResourceParameter("too_many_selected_threshold",
+        "Maximum number of files allowed to be downloaded (-1 to set no limit)", ResourceParameterType.PARAMETER_INTERN);
+    paramTooManySelectedThreshold.setValueType("xs:integer");
+    paramTooManySelectedThreshold.setValue("-1");
+
+    ResourceParameter paramMaxWarningThresholdText = new ResourceParameter("max_warning_threshold_text",
+        "Text to display to the user when Warning threshold is reached", ResourceParameterType.PARAMETER_USER_GUI);
+    paramMaxWarningThresholdText.setValueType("xs:string");
+
+    ResourceParameter paramTooManySelectedThresholdText = new ResourceParameter("too_many_selected_threshold_text",
+        "Text to display to the user when TooMaxySelected threshold is reached",
+        ResourceParameterType.PARAMETER_USER_GUI);
+    paramTooManySelectedThresholdText.setValueType("xs:string");
+
+    this.addParam(paramMaxWarningThreshold);
+    this.addParam(paramTooManySelectedThreshold);
+    this.addParam(paramMaxWarningThresholdText);
+    this.addParam(paramTooManySelectedThresholdText);
+
+    this.getParameterByName("fileName").setValue("dataset_order_" + "${date:yyyy-MM-dd HH_mm_ss}");
+
+  }
+
+  @Override
+  public Validator<ResourceModel> getValidator() {
+    return new Validator<ResourceModel>() {
+
+      @Override
+      public Set<ConstraintViolation> validate(ResourceModel item) {
+        Set<ConstraintViolation> constraints = new HashSet<ConstraintViolation>();
+        Map<String, ResourceParameter> params = item.getParametersMap();
+        ResourceParameter param = params.get("colUrl");
+        String value = param.getValue();
+        if (value == null || value.equals("")) {
+          ConstraintViolation constraint = new ConstraintViolation();
+          constraint.setMessage("An attribute of the dataset must be choosen");
+          constraint.setLevel(ConstraintViolationLevel.CRITICAL);
+          constraint.setValueName(param.getName());
+          constraints.add(constraint);
+        }
+        param = params.get("zip");
+        if (param != null) {
+          value = param.getValue();
+          if (value == null || (!"false".equals(value) && !"true".equals(value))) {
+            ConstraintViolation constraint = new ConstraintViolation();
+            constraint.setMessage("Must be a boolean");
+            constraint.setLevel(ConstraintViolationLevel.CRITICAL);
+            constraint.setInvalidValue(value);
+            constraint.setValueName(param.getName());
+            constraints.add(constraint);
+          }
+        }
+        param = params.get("too_many_selected_threshold");
+        value = param.getValue();
+        if (value == null || "".equals(value)) {
+          ConstraintViolation constraint = new ConstraintViolation();
+          constraint.setMessage("Cannot be null");
+          constraint.setLevel(ConstraintViolationLevel.CRITICAL);
+          constraint.setInvalidValue(value);
+          constraint.setValueName(param.getName());
+          constraints.add(constraint);
+        }
+        else {
+          try {
+            Integer.parseInt(value);
+          }
+          catch (NumberFormatException e) {
+            ConstraintViolation constraint = new ConstraintViolation();
+            constraint.setMessage("Must be an integer value");
+            constraint.setLevel(ConstraintViolationLevel.CRITICAL);
+            constraint.setInvalidValue(value);
+            constraint.setValueName(param.getName());
+            constraints.add(constraint);
+          }
+        }
+        return constraints;
+      }
+    };
+  }
+
+}
diff --git a/solar/asynchronous_download_public/Asynchronous_Download_userInterface_sitools2/goToTaskPanel.js b/solar/asynchronous_download_public/Asynchronous_Download_userInterface_sitools2/goToTaskPanel.js
new file mode 100644
index 0000000..e11242a
--- /dev/null
+++ b/solar/asynchronous_download_public/Asynchronous_Download_userInterface_sitools2/goToTaskPanel.js
@@ -0,0 +1,368 @@
+/*******************************************************************************
+ * Copyright 2010-2014 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
+ * 
+ * This file is part of SITools2.
+ * 
+ * SITools2 is free software: you can redistribute it and/or modify it under the
+ * terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ * 
+ * SITools2 is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License along with
+ * SITools2. If not, see <http://www.gnu.org/licenses/>.
+ ******************************************************************************/
+/*global Ext, sitools, i18n, SitoolsDesk, alertFailure, window, loadUrl */
+
+Ext.namespace('sitools.user.component.dataviews');
+
+/**
+ * A simple window that displays result of Resource Tasks.
+ * @class sitools.user.component.dataviews.goToTaskPanel
+ * @extends Ext.Panel
+ */
+sitools.user.component.dataviews.goToTaskPanel = Ext.extend(Ext.Panel, {
+//sitools.user.component.livegrid.goToTaskPanel = Ext.extend(Ext.Window, {
+//    modal : true,
+    width : "500", 
+    buttonAlign : 'left',
+    layout : 'fit',
+    initComponent : function () {
+        
+        
+        
+        this.mainPanel = this.createNewFormComponent(this.task);
+ 
+        this.buttons = ["->",/* {
+            text : i18n.get('label.goToTask'),
+            scope : this,
+            handler : this.goToTask
+        },*/ {
+            text : i18n.get('label.close'),
+            scope : this,
+            handler : function () {
+                this.ownerCt.close();
+            }
+        } ];
+        
+        
+        this.items = [this.mainPanel];
+        
+        sitools.user.component.dataviews.goToTaskPanel.superclass.initComponent.call(this);
+
+    },
+    
+    refreshTask : function () {
+//        var form = this.mainPanel;
+        var url = this.task.statusUrl;
+        Ext.Ajax.request({
+            url : url,
+            method : "GET",
+            scope : this,
+            success : function (ret) {
+                var data = Ext.decode(ret.responseText);
+                if (!data.success) {
+                    Ext.Msg.alert(i18n.get('label.warning'), data.message);
+                    return false;
+                }
+                this.task = data.TaskModel;
+                this.mainPanel = this.createNewFormComponent(this.task);
+                this.removeAll();
+                this.add(this.mainPanel);
+                this.doLayout();
+            },
+            failure : alertFailure
+        });
+    },
+    
+    createNewFormComponent : function (task) {
+        var html = String.format("<p>Hi, your download task is being processed, we will inform you by email when it is done.</p>");
+	html += String.format("<p>For public users, we will send you a link for download in the email.</p>");
+	//html += String.format("<p>You can check the progress by clicking the button <b>Go to the task</b> below.</p>");
+	html += String.format("<p>For registered users, you can find and manage(delete or download) all your historical download tasks by clicking the <b>Tasks</b> button which located in your user menu.</p>");
+       
+	/* var html = String.format(i18n.get("label.taskLaunched"), task.status);
+        html += String.format("<a href='#'>{0}</a><br>", i18n.get("label.detail"));
+        
+        if (!Ext.isEmpty(task.urlResult)) {
+			html += "<br>" + String.format(i18n.get("label.taskResult"), task.urlResult);	
+			html += String.format("<a href='#'>{0}</a><br>", i18n.get("label.result"));
+        }
+        else {
+			html += "<br>" + i18n.get("label.refreshTaskWindow");	
+			html += String.format("<a href='#'>{0}</a><br>", i18n.get("label.refresh"));
+        }*/
+        
+        var panel = new Ext.Panel({
+			padding: 5,
+			layout : "fit", 
+			html : html, 
+			listeners : {
+				scope : this, 
+				afterrender : function (panel) {
+					/*panel.getEl().child('a').on("click", function () {
+						this.showTaskDetail(task);
+					}, this);
+					var resultOrRefreshLink = panel.getEl().child('a').next('a');
+					if (!Ext.isEmpty(task.urlResult)) {
+						resultOrRefreshLink.on("click", function () {
+							this.showTaskResults(task);
+						}, this);
+					}
+					else {
+						resultOrRefreshLink.on("click", function () {
+							this.refreshTask();
+						}, this);
+					}*/
+				}
+			}
+        });
+        return panel;
+        
+//        var formPanel = new Ext.form.FormPanel({
+//            title : i18n.get("label.taskDetails"),
+//            padding: 5,
+//            items : [ {
+//                name : 'statusUrl',
+//                xtype : 'textfield',
+//                value : task.statusUrl,
+//                hidden : true
+//            }, {
+//                name : 'status',
+//                fieldLabel : i18n.get('label.status'),
+//                anchor : "100%",
+//                xtype : 'textfield',
+//                value : task.status
+//            }, {
+//                name : 'id',
+//                fieldLabel : i18n.get('label.id'),
+//                anchor : "100%",
+//                xtype : 'textfield',
+//                value : task.id
+//            }, {
+//                itemValue : task.statusUrl,
+//                fieldLabel : i18n.get('label.url'),
+//                xtype : 'box',
+//                html : "<a href='#'> " + task.statusUrl + "</a>"
+//                ,
+//                listeners : {
+//                    scope : this,
+//                    render : function (cmp) {
+//                        cmp.getEl().on('click', function () {
+//                            var jsObj = sitools.user.modules.userSpaceDependencies.svaTasksDetails;
+//                            var componentCfg = {
+//                                sva : task    
+//                            };
+//                            var windowConfig = {
+//                                id : "taskStatusDetails", 
+//                                title : i18n.get("label.taskDetails") + ":" + task.id
+//                            };
+//                            SitoolsDesk.addDesktopWindow(windowConfig, componentCfg, jsObj);
+//                        });
+//                    }
+//                }
+//            }
+//            ]
+//        });
+//        
+//        if (!Ext.isEmpty(task.urlResult)) {
+//            var item = new Ext.BoxComponent({
+//                itemValue : task.urlResult,
+//                fieldLabel : i18n.get('label.result'),
+//                html : "<a href='#'> " + task.urlResult + "</a>",
+//                listeners : {
+//                    scope : this,
+//                    render : function (cmp) {
+//                        cmp.getEl().on('click', function () {
+//                            var orderUrl = loadUrl.get('APP_URL') + loadUrl.get('APP_ORDERS_USER_URL');
+//                            if (cmp.itemValue.indexOf(orderUrl) != -1) {
+//                                this._showOrderDetails(cmp.itemValue);
+//                            } else if (cmp.itemValue.indexOf("/records") != -1) {
+//                                this._showDatasetDetails(cmp.itemValue);
+//                            } 
+//                            else {
+//                                window.open(cmp.itemValue);
+//                            }
+//                        }, this);
+//                    }
+//                }
+//            });
+//            formPanel.add(item);
+//        }
+//        
+//        return formPanel;
+        
+    },
+    
+    /**
+     * Handler of the button goToTask. 
+     * Open the home Module Window with the taskPanel opened.
+     */
+    goToTask : function () {
+        this.ownerCt.close();
+		var jsObj = sitools.user.component.entete.userProfile.tasks;
+        var windowConfig = {
+            title : i18n.get('label.Tasks'),
+            saveToolbar : false, 
+            iconCls : "tasks"
+        };
+        SitoolsDesk.addDesktopWindow(windowConfig, {}, jsObj, true);
+
+    },
+    /**
+     * Open a sitools.user.component.entete.userProfile.orderProp window. 
+     * @param {String} url the Url to request the task. 
+     */
+    _showOrderDetails : function (url) {
+        Ext.Ajax.request({
+            url : url,
+            method : 'GET',
+            scope : this,
+            success : function (ret) {
+                var data = Ext.decode(ret.responseText);
+                if (!data.success) {
+                    Ext.Msg.alert(i18n.get('label.warning'), data.message);
+                    return false;
+                }
+                var rec = new Ext.data.Record(data.order);
+                var jsObj = sitools.user.component.entete.userProfile.orderProp;
+                var componentCfg = {
+                    action : 'detail',
+                    orderRec : rec
+                };
+                var title = i18n.get('label.details') + " : ";
+                title += rec.data.userId;
+                title += " " + i18n.get('label.the');
+                title += " " + rec.data.dateOrder;
+
+                var windowConfig = {
+                    id : "showDataDetailId", 
+                    title : title,  
+                    specificType : "dataDetail", 
+                    iconCls : "dataDetail"
+                };
+                SitoolsDesk.addDesktopWindow(windowConfig, componentCfg, jsObj);
+            },
+            failure : alertFailure
+        });
+        
+    },
+    /**
+     * Only in NoSql, open a dataset view 
+     * @param {} url
+     */
+    _showDatasetDetails : function (url) {
+        var urlDataset = url.substring(0, url.indexOf("/records"));
+        Ext.Ajax.request({
+            url : urlDataset,
+            method : 'GET',
+            scope : this,
+            success : function (ret) {
+                var data = Ext.decode(ret.responseText);
+                if (!data.success) {
+                    Ext.Msg.alert(i18n.get('label.warning'), data.message);
+                    return false;
+                }
+                var dataset = new Ext.data.Record(data.dataset).data;
+                
+                var windowConfig = {
+                        title : i18n.get('label.dataTitle') + " : " + dataset.name,
+                        datasetName : dataset.name, 
+                        datasetDescription : dataset.description,
+                        type : "data", 
+                        saveToolbar : true, 
+                        toolbarItems : [], 
+                        iconCls : "dataDetail"
+                    };
+                
+                //open the dataView according to the dataset Configuration.
+                var javascriptObject = eval(dataset.datasetView.jsObject);
+                //add the toolbarItems configuration
+                Ext.apply(windowConfig, {
+                    id : "data" + dataset.datasetId
+                });
+                var componentCfg = {
+                    dataUrl : dataset.sitoolsAttachementForUsers,
+                    datasetId : dataset.id,
+                    datasetCm : dataset.columnModel, 
+                    datasetName : dataset.name,
+                    dictionaryMappings : dataset.dictionaryMappings, 
+	                datasetViewConfig : dataset.datasetViewConfig, 
+                    preferencesPath : "/" + dataset.name, 
+                    preferencesFileName : "datasetView"
+                };
+                
+                SitoolsDesk.addDesktopWindow(windowConfig, componentCfg, javascriptObject);
+                
+            },
+            failure : alertFailure
+        });
+        
+    }, 
+    /**
+     * Opens a sitools.user.modules.userSpaceDependencies.svaTasksDetails window to see the task Details. 
+     * @param {} task
+     */
+    showTaskDetail : function (task) {
+	    var jsObj = sitools.user.component.entete.userProfile.tasksDetails;
+	    var componentCfg = {
+	        sva : task    
+	    };
+	    var windowConfig = {
+	        id : "taskStatusDetails", 
+	        title : i18n.get("label.taskDetails") + ":" + task.id, 
+	        iconCls : "dataDetail"
+	    };
+	    SitoolsDesk.addDesktopWindow(windowConfig, componentCfg, jsObj);
+	}, 
+	/**
+	 * parse the task.urlResult to see if this is an Specialized resource (noSQl or Order). 
+	 * If not, open a new Window to get the result of the resource. 
+	 * @param {} task
+	 */
+	showTaskResults : function (task) {
+		var orderUrl = loadUrl.get('APP_URL') + loadUrl.get('APP_ORDERS_USER_URL');
+        if (task.urlResult.indexOf(orderUrl) != -1) {
+            this._showOrderDetails(task.urlResult);
+        } else if (task.urlResult.indexOf("/records") != -1) {
+            this._showDatasetDetails(task.urlResult);
+        } 
+        else {
+            window.open(task.urlResult);
+        }
+	}, 
+    /**
+     * Method called when trying to show this component with fixed navigation
+     * 
+     * @param {sitools.user.component.viewDataDetail} me the dataDetail view
+     * @param {} config config options
+     * @returns
+     */
+    showMeInFixedNav : function (me, config) {
+        Ext.apply(config.windowSettings, {
+            width : config.windowSettings.winWidth || DEFAULT_WIN_WIDTH,
+            height : config.windowSettings.winHeight || DEFAULT_WIN_HEIGHT
+        });
+        SitoolsDesk.openModalWindow(me, config);
+    }, 
+    /**
+     * Method called when trying to show this component with Desktop navigation
+     * 
+     * @param {sitools.user.component.viewDataDetail} me the dataDetail view
+     * @param {} config config options
+     * @returns
+     */
+    showMeInDesktopNav : function (me, config) {
+        Ext.apply(config.windowSettings, {
+            width : config.windowSettings.winWidth || DEFAULT_WIN_WIDTH,
+            height : config.windowSettings.winHeight || DEFAULT_WIN_HEIGHT
+        });
+        SitoolsDesk.openModalWindow(me, config);
+    }
+    
+
+});
+
diff --git a/solar/asynchronous_download_public/Asynchronous_Download_userInterface_sitools2/resourcePluginParamsPanel.js b/solar/asynchronous_download_public/Asynchronous_Download_userInterface_sitools2/resourcePluginParamsPanel.js
new file mode 100644
index 0000000..874eac6
--- /dev/null
+++ b/solar/asynchronous_download_public/Asynchronous_Download_userInterface_sitools2/resourcePluginParamsPanel.js
@@ -0,0 +1,276 @@
+/*******************************************************************************
+ * Copyright 2010-2014 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
+ * 
+ * This file is part of SITools2.
+ * 
+ * SITools2 is free software: you can redistribute it and/or modify it under the
+ * terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ * 
+ * SITools2 is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License along with
+ * SITools2. If not, see <http://www.gnu.org/licenses/>.
+ ******************************************************************************/
+/*global Ext, sitools, i18n, SitoolsDesk */
+
+Ext.namespace('sitools.user.component.dataviews');
+/**
+ * @cfg {Ext.menu.menu} contextMenu the contextMenu that call the plugin and will execute onResourceCallClick method
+ * @cfg {Ext.data.Record} resource the resource record
+ * @cfg {string} url the base url of the resource
+ * @cfg {string} methods the methods allowed with the format method1|method2|...|methodN
+ * @cfg {string} runType the runTypeUserInput defined in the resource
+ * @cfg {boolean} withSelection true if there was a selection, false otherwise
+ * @cfg {Array} parameters the parameters
+ * @class sitools.user.component.dataviews.resourcePluginParamsPanel
+ * @extends Ext.Window
+ */
+sitools.user.component.dataviews.resourcePluginParamsPanel = Ext.extend(Ext.Panel, {
+//sitools.user.component.livegrid.resourcePluginParamsWindow = Ext.extend(Ext.Window, {
+    width : "450",
+    
+    showMethod : false, 
+    defaultMethod : "",
+    showRunType : false, 
+    initComponent : function () {
+        var methodsArray = this.methods.split("|");
+        this.showMethod = methodsArray.length > 1;
+        this.defaultMethod = methodsArray[0];
+        
+        this.methodsStore = new Ext.data.ArrayStore({
+            fields: ["method"],
+            idIndex: 0
+        });
+    
+        Ext.each(methodsArray, function (item, index) {
+            this.methodsStore.add(new Ext.data.Record({
+                method : item
+            }));
+        }, this);
+        
+        var formCommonParametersFields = [];
+        var comboMethod = new Ext.form.ComboBox({                
+            xtype : 'combo',
+            mode : 'local',
+            triggerAction : 'all',
+            editable : false,
+            name : 'method',
+            fieldLabel : i18n.get('label.method'),
+            width : 100,
+            store : this.methodsStore,
+            valueField : 'method',
+            displayField : 'method',
+            anchor : "100%",
+            value : this.defaultMethod,
+            forceSelection : true
+        });
+        this.items = [];
+        if (this.showMethod) {
+			formCommonParametersFields.push(comboMethod);
+			this.formParams = new Ext.form.FormPanel({
+	            padding: 5,
+	//            title : "Request parameters",
+	            items : [{
+	                xtype : 'fieldset',
+	                title : i18n.get("label.commonParameters"),
+	                items : formCommonParametersFields
+	            }]
+	        });
+	        
+	        this.items.push(this.formParams);			
+        }
+        
+        var userInputParams = [];
+	this.user = projectGlobal.user || {
+                        firstName : "public",
+                        identifier : "public",
+                        email : "&nbsp;"
+                        };
+
+        Ext.each(this.resource.parameters, function (value, index) {
+            if (value.type == "PARAMETER_USER_INPUT" && value.userUpdatable) {
+                if(value.name == "Email" && this.user.identifier != "public"){
+			//if user is not public donnot show email input field
+		}else{
+			var item = this.buildFormItemFromParam(value);
+	        	userInputParams.push(item);
+                	if (value.name == "runTypeUserInput") {
+                		this.showRunType = true;
+                        }
+
+		}
+            }
+        }, this);
+
+        if (!Ext.isEmpty(userInputParams)) {
+            this.formParamsUserInput = new Ext.form.FormPanel({
+                padding: 5,
+                labelWidth : 150, 
+                items : {
+                    xtype : 'fieldset',
+                    title : i18n.get("label.specificParameter"),
+                    items : userInputParams
+                }
+            });  
+            this.items.push(this.formParamsUserInput);
+        }
+        
+        this.buttons = [{
+            text : i18n.get('label.submit'),
+            scope : this,
+            handler : this.onCall            
+        }, {
+            text : i18n.get('label.cancel'),
+            scope : this,
+            handler : function () {
+                this.ownerCt.close();
+                this.callback.call(undefined, false);
+            }
+        }];
+        sitools.user.component.dataviews.resourcePluginParamsPanel.superclass.initComponent.call(this);
+    },
+    
+    onCall : function () {        
+        var method;
+        if (this.showMethod) {
+	        var form = this.formParams.getForm();
+	        method = form.findField("method").getValue();
+        }
+        else {
+			method = this.defaultMethod;	
+        }
+		
+        var runTypeUserInput;
+        if (this.showRunType) {
+			runTypeUserInput = this.formParamsUserInput.getForm().findField("runTypeUserInput").getValue();
+        }
+        else {
+			runTypeUserInput = this.runType;
+        }
+        var limit;
+
+        var userParameters = {};
+        if (!Ext.isEmpty(this.formParamsUserInput)) {
+            var formParams = this.formParamsUserInput.getForm();
+            Ext.iterate(formParams.getValues(), function (key, value) {
+                userParameters[key] = value;                
+            });
+        }
+        if(userParameters["Email"] == ""){
+	    Ext.Msg.alert("Email error","Please insert an email address which will be used to inform you with the download link.");
+            return false;
+	} 
+        Ext.each(this.parameters, function (param) {
+            if (param.type == "PARAMETER_IN_QUERY") {
+                userParameters[param.name] = param.value;
+            }
+        });
+        
+        this.contextMenu.onResourceCallClick(this.resource, this.url, method, runTypeUserInput, limit, userParameters, this.postParameter, this.callback);
+        this.ownerCt.close();
+    }, 
+    buildFormItemFromParam : function (value, userInputParams) {
+		var valueType = value.valueType;
+        var item = {};
+        //specific case for boolean
+        if (valueType.indexOf("xs:boolean") != -1) {
+            valueType = "xs:enum[true,false]";
+        }
+        if (valueType.indexOf("xs:enum") != -1) {
+	        var enumeration = valueType.split("[");
+	        enumeration = enumeration[1].split("]");
+	        enumeration = enumeration[0].split(",");
+
+			var multiple = false;
+			if (valueType.indexOf("xs:enum-multiple") >= 0 || valueType.indexOf("xs:enum-editable-multiple") >= 0) {
+				multiple = true;
+			}
+			
+			var storeItems = [];
+			for (var i = 0; i < enumeration.length; i++) {
+				var tmp = enumeration[i].trim();
+				storeItems.push([ tmp, tmp]);
+			}
+			var store = new Ext.data.ArrayStore({
+                fields : ['value', 'text'],
+                data : storeItems, 
+                valueField : 'value', 
+                displayField : 'text'
+            });
+			
+			if (multiple) {
+				item = {
+					store : store,
+					name : value.name, 
+					xtype : "multiselect", 
+					values : value.value, 
+					delimiter : '|', 
+					fieldLabel : value.name, 
+					width : 235, 
+					tooltip : value.description
+				};
+			}
+			else {
+				item = {
+					store : store,
+					name : value.name, 
+					xtype : "combo", 
+					value : value.value, 
+					valueField : "value", 
+					displayField : "text", 
+					mode: 'local', 
+					fieldLabel : value.name, 
+					triggerAction : 'all',
+					selectOnFocus : true,
+					editable : false, 
+					anchor : "100%", 
+					tooltip : value.description
+				};
+			}
+        }
+        else {
+			item = {
+                name : value.name,
+                xtype : 'textfield',
+                value : value.value,
+                fieldLabel : value.name,
+                anchor : "100%", 
+				tooltip : value.description
+            };
+        }
+        return item;
+    }, 
+    /**
+     * Method called when trying to show this component with fixed navigation
+     * 
+     * @param {sitools.user.component.viewDataDetail} me the dataDetail view
+     * @param {} config config options
+     * @returns
+     */
+    showMeInFixedNav : function (me, config) {
+        Ext.apply(config.windowSettings, {
+            width : config.windowSettings.winWidth || DEFAULT_WIN_WIDTH,
+            height : config.windowSettings.winHeight || DEFAULT_WIN_HEIGHT
+        });
+        SitoolsDesk.openModalWindow(me, config);
+    }, 
+    /**
+     * Method called when trying to show this component with Desktop navigation
+     * 
+     * @param {sitools.user.component.viewDataDetail} me the dataDetail view
+     * @param {} config config options
+     * @returns
+     */
+    showMeInDesktopNav : function (me, config) {
+        Ext.apply(config.windowSettings, {
+            width : config.windowSettings.winWidth || DEFAULT_WIN_WIDTH,
+            height : config.windowSettings.winHeight || DEFAULT_WIN_HEIGHT
+        });
+        SitoolsDesk.openModalWindow(me, config);
+    }
+
+});
diff --git a/solar/project_modules_sitools2v3/Module_DatasetExplorerD3_sitools2v3/DatasetExplorerD3.js b/solar/project_modules_sitools2v3/Module_DatasetExplorerD3_sitools2v3/DatasetExplorerD3.js
new file mode 100644
index 0000000..ecd99e1
--- /dev/null
+++ b/solar/project_modules_sitools2v3/Module_DatasetExplorerD3_sitools2v3/DatasetExplorerD3.js
@@ -0,0 +1,29 @@
+Ext.namespace('sitools.user.modules');
+
+Ext.define( 'sitools.user.modules.DatasetExplorerD3', {
+    extend: 'sitools.user.core.Module',
+
+
+    init : function (moduleModel) {
+        var view = Ext.create('sitools.user.view.modules.datasetExplorerD3.DatasetExplorerD3');
+        this.setViewCmp(view);
+
+        this.show(this.getViewCmp());
+
+        this.callParent(arguments);
+    },
+
+    /**
+     * method called when trying to save preference
+     * 
+     * @returns
+     */
+    _getSettings : function () {
+        return {
+            preferencesPath : "/modules",
+            preferencesFileName : this.id
+        };
+
+    }
+
+});
\ No newline at end of file
diff --git a/solar/project_modules_sitools2v3/Module_DatasetExplorerD3_sitools2v3/DatasetExplorerD3View.js b/solar/project_modules_sitools2v3/Module_DatasetExplorerD3_sitools2v3/DatasetExplorerD3View.js
new file mode 100644
index 0000000..39e54c8
--- /dev/null
+++ b/solar/project_modules_sitools2v3/Module_DatasetExplorerD3_sitools2v3/DatasetExplorerD3View.js
@@ -0,0 +1,442 @@
+Ext.namespace('sitools.user.view.modules.datasetExplorerD3');
+/**
+ * ProjectDescription Module
+ * @class sitools.user.modules.projectDescription
+ * @extends Ext.Panel
+ */
+Ext.define('sitools.user.view.modules.datasetExplorerD3.DatasetExplorerD3', {
+    extend : 'Ext.panel.Panel',
+    layout : 'fit',
+    id : 'ds',
+    border : false,
+    bodyBorder : false,
+    listeners: {
+        //afterrender:function(){console.log( 'afterrender ' +this.getHeight())},
+        boxready: function() {
+            //alert(this.getHeight()+' '+this.getWidth());
+            var me = this;
+            //me.doc = Ext.getDoc();
+            //me.callParent(arguments);
+            me.drawMap();
+                 },
+        resize: function() {
+            //alert(this.getHeight()+' '+this.getWidth());
+            var me = this;
+            d3.select("#vis").remove();
+            //me.doc = Ext.getDoc();
+            //me.callParent(arguments);
+            me.drawMap();
+        }
+    },
+    initComponent : function () {
+        this.callParent(arguments);
+
+    },
+
+    drawMap : function() {
+        if (Math.min(this.getHeight(),this.getWidth()) < 400) var fontSize = '0px';
+        else if (Math.min(this.getHeight(),this.getWidth()) > 800) var fontSize = '14px';
+        else var fontSize = (Math.round(Math.min(this.getHeight(),this.getWidth()).toFixed(1)/100)+Math.floor(Math.min(this.getHeight(),this.getWidth()).toFixed(1)/100)-2).toString()+'px';
+
+        me = this;
+        var project = Ext.getStore('ProjectStore').getProject();
+        var d = document,
+            g = d.getElementById('ds');
+        if (this.getHeight() > this.getWidth()) {
+        var width = this.getWidth()/1.02,
+            height = width;
+        } else {
+            var height = this.getHeight()/1.05 ,
+            width = height;
+        }
+        function t(n, e) {
+            return n === e ? !0 : n.children ? n.children.some(function(n) {
+                return t(n, e)
+            }) : !1
+        }
+
+        function n(t) {
+            if (t.children) {
+                var e = t.children.map(n),
+                r = d3.hsl(e[0]),
+                a = d3.hsl(e[1]);
+                return d3.hsl((r.h + a.h) / 2, 1.2 * r.s, r.l / 1.2)
+            }
+            return t.colour || "#fff"
+        }
+
+        function e(t) {
+            var n = r(t),
+                e = d3.interpolate(d.domain(), [t.x, t.x + t.dx]),
+                a = d3.interpolate(u.domain(), [t.y, n]),
+                i = d3.interpolate(u.range(), [t.y ? 20 : 0, o]);
+            return function(t) {
+                return function(n) {
+                        return d.domain(e(n)), u.domain(a(n)).range(i(n)), x(t)
+                }
+            }
+        }
+
+        function r(t) {
+            return t.children ? Math.max.apply(Math, t.children.map(r)) : t.y + t.dy
+        }
+
+        function a(t) {
+            return .299 * t.r + .587 * t.g + .114 * t.b
+        }
+        var radius = width / 2,
+            x = d3.scale.linear().range([0, 2 * Math.PI]),
+            y = d3.scale.pow().exponent(1.3).domain([0, 1]).range([0, radius]),
+            padding = 5,
+            duration = 500;
+
+        var color = d3.scale.category20c();
+
+        var ds = d3.select("#ds");
+        var div = ds.append("div").attr("id","vis");
+        var vis = div.append("svg")
+            .attr("width", width + padding * 2)
+            .attr("height", height + padding * 2)
+            .append("g")
+            .attr("id", "container")
+            .attr("transform", "translate(" + [radius + padding, radius + padding] + ")");
+        var partition = d3.layout.partition()
+            .sort(null)
+            .value(function(d) {
+                //console.log(Math.sqrt(d.nbRecord));
+                return 5.8-d.depth;
+            });
+
+        var arc = d3.svg.arc()
+            .startAngle(function(d) { return Math.max(0, Math.min(2 * Math.PI, x(d.x))); })
+            .endAngle(function(d) { return Math.max(0, Math.min(2 * Math.PI, x(d.x + d.dx))); })
+            .innerRadius(function(d) { return Math.max(0, d.y ? y(d.y) : d.y); })
+            .outerRadius(function(d) { return Math.max(0, y(d.y + d.dy)); });
+        //d3.json("graph.json", function(error, json) {
+        d3.json(project.get('sitoolsAttachementForUsers')+"/graph?media=json", function(error, json) {
+            d3.select("#container").on("mouseleave", mouseleave);
+            //d3.select("#container").on("touchend", mouseleave);
+            json.graph.text = 'Solar';
+            json.graph.children = json.graph.nodeList;
+            var nodes = partition.nodes({children: json.graph.children[0].children})
+            /*.filter(function(d) {
+                return (d.dx > 0.05); // 0.005 radians = 0.29 degrees
+            })*/;
+            var path = vis.selectAll("path").data(nodes);
+            var pathEnter = path.enter().append("path")
+            .attr("id", function(d, i) { return "path-" + i; })
+            .attr("class", "pathSolarProject")
+            .attr("d", arc)
+            .attr("fill-rule", "evenodd")
+            .style("fill", function(d, i) { if (i==0) return d.color = '#FDB813'; else return d.color = color((d.children ? d : d.parent).text);})
+            .on("mouseover", mouseover)
+            //.on("touchenter", mouseover)
+            //.on("touchstart", mouseover)
+            .on("click", click);
+            var tooltips= pathEnter
+                .append("title")
+                .text(function(d, i) { if (i != 0) return d.description? d.description : d.text.split('<br/>')[0]; });
+
+            var text = vis.selectAll("text").data(nodes);
+            var textEnter = text.enter().append("text")
+                .attr("class", "pathSolarProject")
+                .style("fill-opacity", 1)
+                .style("fill", function(d) {
+                    return brightness(d3.rgb(d.color)) < 125 ? "#fff" : "#000";
+                })
+                .attr("text-anchor", function(d, i) {
+                    if (i == 0) {
+                        return "middle";
+                    }
+                    return x(d.x + d.dx / 2) > Math.PI ? "end" : "start";
+                })
+                .attr("dy", ".3em")
+                .attr("dx", function(d, i){
+                    if (i == 0) return 0;
+                    return x(d.x + d.dx / 2) > Math.PI ? "-1.5em" : "1.5em";
+                })
+                .attr("transform", function(d, i) {
+                    if (i == 0) {
+                        return null;
+                    }
+                    var multiline = (d.text || "").split(" ").length > 1,
+                    angle = x(d.x + d.dx / 2) * 180 / Math.PI - 90,
+                    rotate = angle + (multiline ? -.5 : 0);
+                    return "rotate(" + rotate + ")translate(" + (y(d.y) + padding) + ")rotate(" + (angle > 90 ? -180 : 0) + ")";
+                })
+                .on("click", click);
+            textEnter.append("title")
+                .attr("class", "pathSolarProject")
+                .text(function(d, i) { if (i != 0) return d.description? d.description : d.text.split('<br/>')[0]; });
+            var image = vis.selectAll("image").data(nodes);
+            imageEnter = image.enter().append("image")
+                .attr("class","dataIconImg pathSolarProject")
+                .attr("xlink:href",function(d, i){
+                    if (i == 0) return "";
+                    else {
+                        if (d.type == "node") {
+                            if (d.text.search("Query form") > -1)
+                                return brightness(d3.rgb(d.color)) < 125 ? "/sitools/upload/search-white.png" : "/sitools/upload/search-black.png";
+                            else if (d.text.search("Display data") > -1)
+                                return brightness(d3.rgb(d.color)) < 125 ? "/sitools/upload/database-white.png" : "/sitools/upload/database-black.png";
+                            else
+                                return "";
+                        }
+                        else return brightness(d3.rgb(d.color)) < 125 ? "/sitools/upload/database-white.png" : "/sitools/upload/database-black.png";
+                    }
+                })
+                .attr('width', "1em")
+                .attr('height', "1em")
+                .style("fill-opacity", 1)
+                .style("fill", function(d) {
+                    return brightness(d3.rgb(d.color)) < 125 ? "#fff" : "#000";
+                })
+                .style('cursor','pointer')
+                .attr("y", "-0.5em")
+                .attr("x", function(d){
+                    return x(d.x + d.dx / 2) > Math.PI ? "-1.2em" : "0.2em";
+                })
+                .attr("transform", function(d, i) {
+                    if (i == 0) {
+                        return null;
+                    }
+                    var multiline = (d.text || "").split(" ").length > 1,
+                    angle = x(d.x + d.dx / 2) * 180 / Math.PI - 90,
+                    rotate = angle + (multiline ? -.5 : 0);
+                    return "rotate(" + rotate + ")translate(" + (y(d.y) + padding) + ")rotate(" + (angle > 90 ? -180 : 0) + ")";
+                })
+                .on("click", function(d,i) {
+                    if (i == 0){
+                        return false;
+                    }
+                    if (d.type == "node" && (d.text.search("Query form")>-1))
+                        sitools.user.utils.DatasetUtils.clickDatasetIcone(d.text.split("clickDatasetIcone('")[1].split(", 'forms'")[0], 'forms');
+                    if (d.type == "node" && (d.text.search("Display data")>-1))
+                        sitools.user.utils.DatasetUtils.clickDatasetIcone(d.text.split("clickDatasetIcone('")[1].split("', 'data'")[0], 'data');
+                    if (d.type == "dataset")
+                        sitools.user.utils.DatasetUtils.clickDatasetIcone(d.url, 'data');
+                    return false;
+                })
+                .on("mouseover", iconhover);
+            function iconhover(d,i) {
+                imageEnter.attr("width", function(e){
+                        if (d.text == e.text) {
+                            return "1.1em";
+                        } else {
+                            return "1em";
+                        }
+                    })
+                    .attr("height", function(e){
+                        if (d.text == e.text) {
+                            return "1.1em";
+                        } else {
+                            return "1em";
+                        }
+                    });
+            }
+            image.append("svg:title")
+                .text(function(d, i) {
+                  if (i == 0) return "";
+                    else {
+                        if (d.type == "node") {
+                            if (d.text.search("Query form") > -1)
+                                return "Query form";
+                            else if (d.text.search("Display data") > -1)
+                                return "Display data";
+                            else
+                                return "";
+                        }
+                        else return "Display data";
+                    }
+            });
+            if (Math.min(me.getHeight(), me.getWidth()) >= 400){
+                var tspan = textEnter.append("tspan")
+                    .attr("x", 0)
+                    .style("font-weight", function(d, i) { return i == 0 ? "bold" : ""; })
+                    .style("font-size", function(d, i) { return fontSize; })
+                    .text(function(d, i) { if (i == 0) { return 'SOLAR'; } return d.depth ? d.text.split("<br/>")[0] : ""; });
+            }
+            function click(d) {
+                d3.select("#container").on("mouseleave", null);
+                d3.selectAll(".pathSolarProject").on("mouseover", null);
+                path.transition()
+                    .duration(duration)
+                    .attrTween("d", arcTween(d));
+                    d3.selectAll(".pathSolarProject")
+                    .style("opacity", 1);
+                setTimeout(function(){
+                    d3.select("#container").on("mouseleave", mouseleave);
+                    d3.selectAll(".pathSolarProject").on("mouseover", mouseover);
+                        //.on("touchstart", mouseover)
+                        //.on("touchenter", mouseover);
+                }, duration);
+
+                // Somewhat of a hack as we rely on arcTween updating the scales.
+                text.style("visibility", function(e) {
+                    return isParentOf(d, e) ? null : d3.select(this).style("visibility");
+                })
+                    .transition()
+                    .duration(duration)
+                    .attrTween("text-anchor", function(d, i) {
+                        if (i == 0) {
+                            return null;
+                        }
+                        return function() {
+                            return x(d.x + d.dx / 2) > Math.PI ? "end" : "start";
+                        };
+                    })
+                    .attr("dx", function(d, i){
+                        if (i == 0) return 0;
+                        else return x(d.x + d.dx / 2) > Math.PI ? "-1.5em" : "1.5em";
+                    })
+                    .attrTween("transform", function(d, i) {
+                        if (i == 0) {
+                            return null;
+                        }
+                        var multiline = (d.text || "").split(" ").length > 1;
+                        return function() {
+                            var angle = x(d.x + d.dx / 2) * 180 / Math.PI - 90,
+                            rotate = angle + (multiline ? -.5 : 0);
+                            return "rotate(" + rotate + ")translate(" + (y(d.y) + padding) + ")rotate(" + (angle > 90 ? -180 : 0) + ")";
+                        };
+                    })
+                    .style("fill-opacity", function(e) { return isParentOf(d, e) ? 1 : 1e-6; })
+                    .each("end", function(e) {
+                        d3.select(this).style("visibility", isParentOf(d, e) ? null : "hidden");
+                    });
+                setTimeout(function(){
+                    text.attr("dx", function(d, i){
+                        if (i == 0) return 0;
+                        else return x(d.x + d.dx / 2) > Math.PI ? "-1.5em" : "1.5em";
+                    });
+                }, duration+20);
+                image.style("visibility", function(e) {
+                    return isParentOf(d, e) ? null : d3.select(this).style("visibility");
+                })
+                    .transition()
+                    .duration(duration)
+                    .attr("y", "-0.5em")
+                    .attr("x", function(d){
+                        return x(d.x + d.dx / 2) > Math.PI ? "-1.2em" : "0.2em";
+                    })
+                    .attrTween("transform", function(d, i) {
+                        if (i == 0) {
+                            return null;
+                        }
+                        var multiline = (d.text || "").split(" ").length > 1;
+                        return function() {
+                            var angle = x(d.x + d.dx / 2) * 180 / Math.PI - 90,
+                            rotate = angle + (multiline ? -.5 : 0);
+                            return "rotate(" + rotate + ")translate(" + (y(d.y) + padding) + ")rotate(" + (angle > 90 ? -180 : 0) + ")";
+                        };
+                    })
+                    .style("fill-opacity", function(e) { return isParentOf(d, e) ? 1 : 1e-6; })
+                    .each("end", function(e) {
+                        d3.select(this).style("visibility", isParentOf(d, e) ? null : "hidden");
+                    });
+                setTimeout(function(){
+                    image.attr("x", function(d){
+                        return x(d.x + d.dx / 2) > Math.PI ? "-1.2em" : "0.2em";;
+                    });
+                }, duration+20);
+            }
+            function mouseleave(d) {
+                // Hide the breadcrumb trail
+                //d3.select("#trail")
+                //  .style("visibility", "hidden");
+
+                // Deactivate all segments during transition.
+                d3.selectAll(".pathSolarProject").on("mouseover", null);
+
+                // Transition each segment to full opacity and then reactivate it.
+                d3.selectAll(".pathSolarProject")
+                    .transition()
+                    .duration(500)
+                    .style("opacity", 1)
+                    .each("end", function() {
+                        d3.select(this).on("mouseover", mouseover);
+                        //d3.select(this).on("touchstart", mouseover);
+                        //d3.select(this).on("touchenter", mouseover);
+                    });
+            }
+
+            function mouseover(d) {
+                var sequenceArray = getAncestors(d);
+                //updateBreadcrumbs(sequenceArray, percentageString);
+
+                // Fade all the segments.
+                d3.selectAll(".pathSolarProject")
+                    .style("opacity", 0.4);
+                // Then highlight only those that are an ancestor of the current segment.
+                vis.selectAll(".pathSolarProject")
+                    .filter(function(node) {
+                        return (sequenceArray.indexOf(node) >= 0);
+                    })
+                    .style("opacity", 1);
+                vis.selectAll("text")
+                    .filter(function(node) {
+                        return (sequenceArray.indexOf(node) >= 0);
+                    })
+                    .style("opacity", 1);
+                vis.selectAll("image")
+                    .filter(function(node) {
+                        return (sequenceArray.indexOf(node) >= 0);
+                    })
+                    .style("opacity", 1);
+            }
+            function isParentOf(p, c) {
+                if (p === c) return true;
+                if (p.children) {
+                    return p.children.some(function(d) {
+                        return isParentOf(d, c);
+                    });
+                }
+                return false;
+            }
+
+            function getAncestors(node) {
+                var path = [];
+                var current = node;
+                while (current.parent) {
+                    path.unshift(current);
+                    current = current.parent;
+                }
+                path.unshift(current);
+                return path;
+            }
+
+            // Interpolate the scales!
+            function arcTween(d) {
+                var my = maxY(d),
+                    xd = d3.interpolate(x.domain(), [d.x, d.x + d.dx]),
+                    yd = d3.interpolate(y.domain(), [d.y, my]),
+                    yr = d3.interpolate(y.range(), [d.y ? 20 : 0, radius]);
+                return function(d) {
+                    return function(t) { x.domain(xd(t)); y.domain(yd(t)).range(yr(t)); return arc(d); };
+                };
+            }
+
+            function maxY(d) {
+                return d.children ? Math.max.apply(Math, d.children.map(maxY)) : d.y + d.dy;
+            }
+
+            // http://www.w3.org/WAI/ER/WD-AERT/#color-contrast
+            function brightness(rgb) {
+                return rgb.r * .299 + rgb.g * .587 + rgb.b * .114;
+            }
+
+        });
+    },
+    /**
+     * method called when trying to save preference
+     * @returns
+     */
+    _getSettings : function () {
+        return {
+            preferencesPath : "/modules",
+            preferencesFileName : this.id,
+            xtype : this.$className
+        };
+
+    }
+});
diff --git a/solar/project_modules_sitools2v3/Module_DatasetExplorerD3_sitools2v3/style.css b/solar/project_modules_sitools2v3/Module_DatasetExplorerD3_sitools2v3/style.css
new file mode 100644
index 0000000..de2968c
--- /dev/null
+++ b/solar/project_modules_sitools2v3/Module_DatasetExplorerD3_sitools2v3/style.css
@@ -0,0 +1,20 @@
+svg {
+	position: absolute;
+	top: 10px;
+	left: 0;
+	right: 0;
+	margin-left: auto;
+	margin-right: auto;
+}
+path {
+    cursor: pointer;
+    stroke: #fff;
+    stroke-width: 1;
+}
+text {
+    cursor: pointer;
+    font-family: Arial, Helvetica, sans-serif;
+}
+#vis {
+  border-radius: 50%;
+}
diff --git a/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchart.js b/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchart.js
new file mode 100644
index 0000000..14d8538
--- /dev/null
+++ b/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchart.js
@@ -0,0 +1,32 @@
+Ext.namespace('sitools.user.modules');
+
+Ext.define( 'sitools.user.modules.DatasetExplorerOchart', {
+    extend: 'sitools.user.core.Module',
+
+
+    requires: ['sitools.user.controller.modules.datasetExplorerOchart.DatasetExplorerOchartController'],
+    controllers: ['sitools.user.controller.modules.datasetExplorerOchart.DatasetExplorerOchartController'],
+    init : function (moduleModel) {
+        
+	var view = Ext.create('sitools.user.view.modules.datasetExplorerOchart.DatasetExplorerOchartView');
+	this.setViewCmp(view);
+
+        this.show(this.getViewCmp());
+
+        this.callParent(arguments);
+    },
+
+    /**
+     * method called when trying to save preference
+     * 
+     * @returns
+     */
+    _getSettings : function () {
+        return {
+            preferencesPath : "/modules",
+            preferencesFileName : this.id
+        };
+
+    }
+
+} );
diff --git a/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartController.js b/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartController.js
new file mode 100644
index 0000000..c4a24e2
--- /dev/null
+++ b/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartController.js
@@ -0,0 +1,104 @@
+/*******************************************************************************
+ * Copyright 2010-2014 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
+ * 
+ * This file is part of SITools2.
+ * 
+ * SITools2 is free software: you can redistribute it and/or modify it under the
+ * terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ * 
+ * SITools2 is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License along with
+ * SITools2. If not, see <http://www.gnu.org/licenses/>.
+ ******************************************************************************/
+
+/*global Ext, sitools, i18n, projectGlobal, alertFailure, showResponse*/
+
+/**
+ * DatasetExplorerOchart Module Controller
+ * @class sitools.user.controller.modules.datasetExplorerOchart.DatasetExplorerOchartController
+ * @extends Ext.app.Controller
+ */
+Ext.define('sitools.user.controller.modules.datasetExplorerOchart.DatasetExplorerOchartController', {
+    extend : 'Ext.app.Controller',
+    
+    views : ['modules.datasetExplorerOchart.DatasetExplorerOchartView'],
+
+    init : function () {
+        this.control({
+            "DatasetExplorerOchart" : {
+                render : function (ochart) {
+		    var project = Ext.getStore('ProjectStore').getProject();
+                    var projectAttachment = project.get("sitoolsAttachementForUsers");
+                    
+                    Ext.Ajax.request({
+                        method : 'GET',
+                        url : projectAttachment + "/graph",
+                        scope : this,
+                        success : function (ret) {
+                            var Json = Ext.decode(ret.responseText);
+                            if (!Json.success) {
+                                Ext.Msg.alert(i18n.get('label.warning'), Json.message);
+                                return;
+                            }
+                            if (Json.graph && Json.graph.nodeList) {
+                                ochart.store.getRootNode().appendChild(Json.graph.nodeList);
+				ochart.store.getRootNode().collapseChildren();
+				//ochart.store.setRootNode(Json.graph.nodeList);
+				console.log(ochart.store.getRootNode());
+				var root=ochart.store.getRootNode();
+				for(var i=0; i<root.childNodes.length; i++){
+				    this.collapseRecursive(root.childNodes[i]);
+				}
+                            }
+                        }
+                    });
+                    
+                    
+                }
+            } 
+        });
+        
+        this.listen({
+            store : {
+                "#datasetExplorerOchartTreeStore" : {
+                    append : function (store, record) {
+                        //record.set("id", Ext.id());
+                        if (record.get("type") === "dataset") {
+                            var icon = record.get("authorized") === "true" ? loadUrl.get('APP_URL') + "/common/res/images/icons/tree_datasets.png" : loadUrl.get('APP_URL') + "/common/res/images/icons/cadenas.png";
+                            record.set('icon', icon);
+                            //record.set("leaf", true);
+
+                        }
+                        if (record.get("type") === "node") {
+                            if(!Ext.isEmpty(record.get("image"))) {
+                                record.set("icon", record.get("image").url);
+                            }
+                            //record.set('iconCls', "graphNodeType");
+                            //record.set("readme", record.get("description"));
+			    //record.set("expanded", false);
+                            //record.set("leaf", false);
+			    //console.log(record);
+                            //record.collapseChildren();
+                        }
+                    }
+
+                }
+            }
+        });
+    },
+    collapseRecursive: function(node){
+	if(node.childNodes != []) {
+	    for(var i=0; i<node.childNodes.length; i++){
+                this.collapseRecursive(node.childNodes[i]);
+	        node.childNodes[i].collapse();
+            }
+	    
+	}
+    }
+    
+});
diff --git a/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartTreeModel.js b/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartTreeModel.js
new file mode 100644
index 0000000..f230156
--- /dev/null
+++ b/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartTreeModel.js
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright 2010-2014 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
+ * 
+ * This file is part of SITools2.
+ * 
+ * SITools2 is free software: you can redistribute it and/or modify it under the
+ * terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ * 
+ * SITools2 is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License along with
+ * SITools2. If not, see <http://www.gnu.org/licenses/>.
+ ******************************************************************************/
+/*global Ext, sitools, window */
+
+Ext.define('sitools.user.model.DatasetExplorerOchartTreeModel', {
+    extend : 'Ext.data.Model',
+
+    fields : [ {
+        name : 'text'
+    }, {
+        name : 'type'
+    }, {
+        name : 'leaf',
+        type : 'boolean'
+    }, {
+        name : 'description'
+    }, {
+        name : 'datasetId'
+    }, {
+        name : 'nbRecord'
+    }, {
+        name : 'imageDs'
+    }, {
+        name : 'readme'
+    }, {
+        name : 'authorized'
+    }, {
+        name : 'status'
+    }, {
+        name : 'visible',
+        type : 'boolean'
+    }, {
+        name : 'url'
+    }, {
+        name : 'image'
+    }]
+});
diff --git a/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartTreeStore.js b/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartTreeStore.js
new file mode 100644
index 0000000..2b74da2
--- /dev/null
+++ b/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartTreeStore.js
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright 2010-2014 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
+ * 
+ * This file is part of SITools2.
+ * 
+ * SITools2 is free software: you can redistribute it and/or modify it under the
+ * terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ * 
+ * SITools2 is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License along with
+ * SITools2. If not, see <http://www.gnu.org/licenses/>.
+ ******************************************************************************/
+/*global Ext, sitools, window */
+
+Ext.define('sitools.user.store.DatasetExplorerOchartTreeStore', {
+    extend : 'Ext.data.TreeStore',
+    model : 'sitools.user.model.DatasetExplorerOchartTreeModel',
+    storeId : 'datasetExplorerOchartTreeStore',
+    root: {
+                "text": "Solar Projects",
+                "leaf": false,
+		"type": "rootnode",
+                expanded: true
+            },
+    proxy : {
+        type : 'memory',
+        reader : {
+            type : 'json'
+        }
+    }
+});
diff --git a/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartView.js b/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartView.js
new file mode 100644
index 0000000..c82e644
--- /dev/null
+++ b/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartView.js
@@ -0,0 +1,61 @@
+Ext.namespace('sitools.user.view.modules.datasetExplorerOchart');
+
+Ext.define( 'sitools.user.view.modules.datasetExplorerOchart.DatasetExplorerOchartView', {
+    extend: 'sitools.user.view.modules.datasetExplorerOchart.DatasetExplorerOchartViewSimple',
+    requires: 'sitools.user.view.modules.datasetExplorerOchart.TaskModel',
+    alias: 'widget.DatasetExplorerOchart',
+
+    initComponent: function(){
+        var me = this;
+	me.store = Ext.create("sitools.user.store.DatasetExplorerOchartTreeStore");
+        /*me.store = Ext.create('Ext.data.TreeStore',{
+            model: 'sitools.user.view.modules.datasetExplorerOchart.TaskModel',
+            root: {
+                "text": "Solar Projects",
+                "leaf": false,
+                expanded: true
+            },
+	    autoLoad: true
+        });*/
+	//me.store = Ext.create("sitools.user.view.modules.datasetExplorerOchart.NodesStore");
+        me.chartConfig = me.chartConfig || {};
+        Ext.applyIf(me.chartConfig, {
+            itemTpl: [
+                '<div class="item-body" style="text-align: center">',
+		    '<tpl if="type == \'dataset\'">',
+                        '<img src="{imageDs}" class="item-img">',
+		      '<div class="item-title-ds item-title">{text}</div>', 
+		      '<a href="#" class="overDatasetService" onClick="sitools.user.utils.DatasetUtils.clickDatasetIcone(\'{url}\', \'data\');return false;">',
+		      Ext.String.format('<img class="datasetochart_icon" src="{0}" data-qtip="{1}">',loadUrl.get('APP_URL') + "/common/res/images/icons/32x32/tree_datasets_32.png", i18n.get('label.dataTitle')),
+		      '</a>',
+		      '<a href="#" class="overDatasetService" onClick="sitools.user.utils.DatasetUtils.clickDatasetIcone(\'{url}\', \'forms\');return false;">',
+		      Ext.String.format('<img class="datasetochart_icon" src="{0}" data-qtip="{1}">',loadUrl.get('APP_URL') + "/common/res/images/icons/32x32/openSearch_32.png", "Query form"),
+		      '</a>',
+		      '<div class="item-nb">({nbRecord} records)</div>',
+		    '</tpl>',
+		    '<tpl if="type == \'node\'">',
+ 		        '<tpl if="icon">',
+                          '<img src="{icon}" style="height: 25px">',
+                        '</tpl>',
+			'<div class="item-title-node item-title">{text}</div>',
+		    '</tpl>',
+		    '<tpl if="type == \'rootnode\'">',
+                        '<div class="item-title-rootnode item-title">{text}</div>',
+                    '</tpl>',
+                '</div>'
+		
+            ],
+
+            itemCls: 'task-item'
+        });
+
+        me.callParent( arguments );
+    },
+    afterRender: function(){
+	var elems = document.querySelectorAll('.task-item');
+        console.log(elems);
+        //me.onInlineExpanderClick(null, elems);	
+    },
+    onItemDblClick: Ext.emptyFn
+} );
+
diff --git a/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartViewSimple.js b/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartViewSimple.js
new file mode 100644
index 0000000..5854596
--- /dev/null
+++ b/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/DatasetExplorerOchartViewSimple.js
@@ -0,0 +1,230 @@
+/***************************************
+ * Copyright 2010-2014 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
+ *
+ * This file is part of SITools2.
+ *
+ * SITools2 is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * SITools2 is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with SITools2.  If not, see <http://www.gnu.org/licenses/>.
+ ***************************************/
+/*global Ext, sitools, projectGlobal, commonTreeUtils, showResponse, document, i18n, loadUrl, SITOOLS_DEFAULT_PROJECT_IMAGE_URL, SitoolsDesk*/
+/*
+ * @include "../../env.js" 
+*/
+
+
+Ext.namespace('sitools.user.view.modules.datasetExplorerOchart');
+Ext.define( 'sitools.user.view.modules.datasetExplorerOchart.DatasetExplorerOchartViewSimple', {
+    extend: 'Ext.panel.Panel',
+    alias: 'widget.datasetExplorerOchartViewSimple',
+
+    layout:{ type: 'fit' },
+    border : false,
+    requires: [
+        'sitools.user.modules.OChartDragDrop',
+        'sitools.user.view.modules.datasetExplorerOchart.OChart'
+    ],
+    autoDestroyStore: true,
+
+    initComponent: function(){
+	var me = this;
+        if(!me.store){
+	    Ext.apply(me, {
+                store : me.buildStore()
+            });
+        }
+
+	me.chartConfig = me.chartConfig || {};
+        
+	Ext.applyIf(me.chartConfig,{
+            xtype: 'ochart',
+            autoScroll : true,
+            simpleSelect: true,
+            rootVisible: false,
+            store: me.store,
+            plugins    : [
+                {
+                    ptype          : 'ochartdragdrop',
+                    allowParentInserts: true,
+                    containerScroll: true,
+                    ddGroup: 'ochart-dd'
+                }
+            ],
+
+            listeners: {
+                scope: me,
+                additem: me.onAddItem,
+                removeitem: me.onRemoveItem,
+                itemdblclick: me.onItemDblClick
+            }
+        });
+
+        Ext.apply(me, {
+            items: me.chartConfig
+        });
+        me.callParent(arguments);
+    },
+    
+    buildStore: function() {
+	var store = Ext.create('sitools.user.view.modules.datasetExplorerOchart.NodesStore');
+	return store;
+    },
+
+    onRender: function(){
+       //console.log(this);
+	 var chart = this.down('ochart' );
+//       var view = this.up('viewport');
+	console.log(chart);
+        chart.lineWeight =2; //view.lineWeight;
+        chart.lineColor = '#888888';//'#' + view.lineColor;
+        chart.levelSpacing =20;//view.levelSpacing;
+        chart.nodeSpacing = 10;//view.nodeSpacing;
+        chart.readOnly = true;//view.readOnly;
+        chart.rootVisible = true;//view.rootVisible;
+        chart.allowContainerDrop = false;//view.allowContainerDrop;
+        chart.toolsVisible = true;//view.toolsVisible;
+		
+        this.callParent(arguments);
+    },
+
+    afterRender: function(){
+        var me = this;
+        var view = me.up('#mainView');
+        //me.mon(view,'changelineweight', me.onChangeLineWeight, me);
+        //me.mon(view,'changelinecolor', me.onChangeLineColor, me);
+        //me.mon(view,'changelevelspace', me.onChangeLevelSpace, me);
+        //me.mon(view,'changeitemspace', me.onChangeItemSpace, me);
+        //me.mon(view,'changereadonly', me.onChangeReadOnly, me);
+        //me.mon(view,'changerootvisible', me.onChangeRootVisible, me);
+        //me.mon(view,'changecontainerdrop', me.onChangeContainerDrop, me);
+        //me.mon(view,'changetools', me.onChangeTools, me);
+        me.view = view;
+        me.callParent(arguments);
+    },
+
+    onDestroy: function(){
+        var me = this,
+            view = me.view;
+        me.mun(view,'changelineweight', me.onChangeLineWeight, me);
+        me.mun(view,'changelinecolor', me.onChangeLineColor, me);
+        me.mun(view,'changelevelspace', me.onChangeLevelSpace, me);
+        me.mun(view,'changeitemspace', me.onChangeItemSpace, me);
+        me.mun(view,'changereadonly', me.onChangeReadOnly, me);
+        me.mun(view,'changerootvisible', me.onChangeRootVisible, me);
+        me.mun(view,'changecontainerdrop', me.onChangeContainerDrop, me);
+        me.mun(view,'changetools', me.onChangeTools, me);
+        me.view = null;
+        if(me.autoDestroyStore){
+            me.store.destroyStore();
+        }
+        me.store = null;
+        me.callParent(arguments);
+    },
+
+    onItemDblClick: function(view, record, item, index, e){
+        if(view.readOnly) return;
+
+        Ext.Msg.prompt('Edit Node', 'Type the node name',function(btn, text){
+            if(btn == 'ok'){
+                record.set('text',text);
+            }
+        }, window, false, record.get('text'));
+    },
+
+    onAddItem: function (view, record, where, nodeEl){
+        Ext.Msg.prompt('New Node', 'Type the node name',function(btn, text){
+            if(btn == 'ok'){
+                var newrec = {text: text, leaf: true};
+                switch(where){
+                    case 'before':
+                        var parent = record.parentNode;
+                        newrec = parent.insertBefore(newrec, record);
+                        break;
+                    case 'after':
+                        var node = record.nextSibling;
+                        var parent = record.parentNode;
+                        newrec = parent.insertBefore(newrec, node);
+                        break;
+                    case 'child':
+                        newrec = record.appendChild(newrec);
+                        record.expand(function(){view.focusNode(newrec);});
+                        break;
+                }
+            }
+        });
+    },
+
+    onRemoveItem: function(view, record, nodeEl){
+        Ext.Msg.confirm('Remove Item', 'Do you really want\'s remove this items?',function(btn, text){
+            if(btn == 'yes'){
+                record.remove();
+            }
+        });
+    },
+
+    onChangeLineWeight: function(panel, weight){
+        var chart = this.down('ochart');
+        chart.lineWeight = weight;
+        chart.refresh();
+    },
+
+    onChangeLineColor: function(panel, color){
+        var chart = this.down('ochart' );
+        chart.lineColor =  '#' + color;
+        chart.refresh();
+    },
+
+    onChangeLevelSpace: function(panel, space){
+        var chart = this.down('ochart');
+        chart.levelSpacing = space;
+        chart.refresh();
+    },
+
+    onChangeItemSpace: function(panel, space){
+        var chart = this.down('ochart');
+        chart.nodeSpacing = space;
+        chart.refresh();
+    },
+
+    onChangeReadOnly: function(panel, value){
+        var chart = this.down('ochart');
+        chart.readOnly = value;
+    },
+
+    onChangeRootVisible: function(panel, value){
+        var chart = this.down('ochart');
+        chart.rootVisible = value;
+        chart.refresh();
+    },
+
+    onChangeContainerDrop: function(panel, value){
+        var chart = this.down('ochart');
+        chart.allowContainerDrop = value;
+    },
+
+    onChangeTools: function(panel, value){
+        var chart = this.down('ochart');
+        chart.toolsVisible = value;
+    },
+
+    /**
+     * method called when trying to save preference
+     * @returns
+     */
+    _getSettings: function () {
+        return {
+            preferencesPath: "/modules",
+            preferencesFileName: this.id
+        };
+    }
+
+} );
diff --git a/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/OChart.js b/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/OChart.js
new file mode 100644
index 0000000..2561707
--- /dev/null
+++ b/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/OChart.js
@@ -0,0 +1,2668 @@
+
+Ext.namespace('sitools.user.view.modules.datasetExplorerOchart');
+Ext.define('sitools.user.view.modules.datasetExplorerOchart.OChart',{
+    extend: 'Ext.Component',
+    alias: 'widget.ochart',
+    itemId: 'ochart',
+    requires:[
+        'Ext.LoadMask',
+        'Ext.data.StoreManager',
+        'Ext.dom.Query',
+        'sitools.user.view.modules.datasetExplorerOchart.OChartModel',
+        'Ext.dd.ScrollManager'
+    ],
+
+    mixins:{
+        bindable: 'Ext.util.Bindable'
+    },
+
+    baseCls: Ext.baseCSSPrefix + 'ochart',
+
+    /**
+     * In some places it's need to render full tables because <IE9 have some bugs and makes tr and table readonly
+     * @private
+     */
+    renderBuffer: document.createElement('div'),
+
+    /**
+     * @cfg {Boolean} rootVisible=true true to include the root node in the chart.
+     */
+    rootVisible: true,
+
+    /**
+     * @cfg {Boolean} toolsVisible=true true to show the item floating tools.
+     */
+    toolsVisible: true,
+
+    /**
+     * @cfg {Ext.data.NodeInterface} root=null The chart´s root node or null for the store root node.
+     */
+    root: null,
+
+    /**
+     * @cfg {Boolean} autoLoadStore=tru
+     * If this config is true and the store isn't loaded or already loading, the component will trigger a load command to the store
+     * during component initialization.
+     */
+    autoLoadStore: true,
+
+    /**
+     * @cfg {String} displayField="text" The field used to render the node contents.
+     */
+    displayField: 'text',
+
+    /**
+     * @cfg {Boolean/Object} loadMask
+     * False to disable a load mask from displaying while the view is loading. This can also be a
+     * {@link Ext.LoadMask} configuration object.
+     */
+    loadMask: true,
+
+    /**
+     * @cfg {String} loadingText
+     * A string to display during data load operations.  If specified, this text will be
+     * displayed in a loading div and the view's contents will be cleared while loading, otherwise the view's
+     * contents will continue to display normally until the new data is loaded and the contents are replaced.
+     */
+    loadingText: 'Loading...',
+
+    /**
+     * @cfg {Boolean} loadingUseMsg
+     * Whether or not to use the loading message.
+     * @private
+     */
+    loadingUseMsg: true,
+
+    /**
+     * @cfg {Boolean} allowContainerDrop=true
+     * False to disable dropping itens on the container, true to allow dropping itens on the container.
+     * When itens are dropped on the container they will be appended to the root node.
+     */
+    allowContainerDrop: true,
+
+    /**
+     * @cfg {String} loadingCls
+     * The CSS class to apply to the loading message element. Defaults to Ext.LoadMask.prototype.msgCls "x-mask-loading".
+     */
+
+    /**
+     * @cfg {Number} lineWeight=1 Weight of node connector lines.
+     */
+    lineWeight: 1,
+
+    /**
+     * @property {String} lineColor="#000" HTML color to use for the node connector lines.
+     */
+    lineColor: '#000',
+
+    /**
+     * @cfg {Number} levelSpacing=15 Space in pixels between the parent and children nodes.
+     */
+    levelSpacing: 15,
+
+    /**
+     * @cfg {Number} nodeSpacing=10 Margin in pixels between adjacent nodes.
+     */
+    nodeSpacing: 10,
+
+    /**
+     * @cfg {String} itemCls=null Additional class for the node content element.
+     */
+    itemCls: null,
+
+    /** inheritdoc */
+    renderTpl: ['<table class="{baseCls}-wrap" cellpadding="0" cellspacing="0" border="0"><tbody><tr class="{baseCls}-container"></tr></tbody></table>'],
+
+    /**
+     * @cfg {Ext.XTemplate/String/String[]}} downLineTpl Node down line connector template
+     * @private
+     */
+    downLineTpl: [
+        '<tr class="{view.baseCls}-lines {view.downLineCls}">',
+            '<td colspan="{node.childNodes.length}">',
+                '<div class="{view.baseCls}-left" style="border-top-width: {view.lineWeight}px; height: {view.levelSpacing}px; border-color:{view.lineColor} !important;"></div>',
+                '<div class="{view.baseCls}-right" style="border-top-width: {view.lineWeight}px; border-left-width: {view.lineWeight}px; height: {view.levelSpacing}px; border-color:{view.lineColor} !important;"></div>',
+            '</td>',
+        '</tr>',
+        '<tr class="{view.expanderRowCls}">',
+            '<td colspan="{node.childNodes.length}">',
+                '<span class="{view.expanderCmpCls}{[values.view.expanderCls ? " "+values.view.expanderCls : ""]}" data-qtip="{view.expandTip:htmlEncode}"></span>',
+            '</td>',
+        '</tr>'
+    ],
+
+    /**
+     * @cfg {Ext.XTemplate/String/String[]}} childrenLineTpl Simple child inner line connector template
+     * @private
+     */
+    childrenLineTpl: [
+        '<div class="{view.baseCls}-left" style="border-top-width:{view.lineWeight}px; height: {view.levelSpacing}px; border-color:{view.lineColor} !important;"></div>',
+        '<div class="{view.baseCls}-right" style="border-top-width:{view.lineWeight}px; border-left-width:{view.lineWeight}px; height: {view.levelSpacing}px; border-color:{view.lineColor} !important;"></div>'
+    ],
+
+    /**
+     * @cfg {Ext.XTemplate/String/String[]}} childrenLinesTpl Multiple child line connector template
+     * @private
+     */
+    childrenLinesTpl: [
+        '<tpl if="node.childNodes.length &gt; 1">',
+            //multiple lines
+            '<tr class="{view.baseCls}-lines {view.childrenLinesCls}">',
+                '{[this.childLines(values.view, values.node.childNodes)]}',
+            '</tr>',
+        '</tpl>',
+        {
+            childLines: function(view, nodes){
+                var out = [],
+                    len = nodes.length,
+                    last = len- 1,
+                    cls = view.baseCls,
+                    clsLeft = cls + '-left',
+                    clsRight = cls + '-right',
+                    lineWeight = view.lineWeight,
+                    lineColor = view.lineColor,
+                    height = view.levelSpacing,
+                    div= '<div class="{0}" style="border-color: {1}; border-top-width: {2}px; border-left-width: {3}px; border-right-width: {4}px; height: {5}px;"></div>',
+                    format = Ext.String.format,
+                    i, td;
+
+                for(i = 0; i<len; ++i){
+                    td = '<td';
+                    //it's a first or last line?
+                    if(i == 0) td += ' class="' + cls + '-first"';
+                    else if(i == last) td += ' class="' + cls + '-last"';
+                    td += '>';
+
+                    td += format(div, clsLeft, lineColor, lineWeight, 0, i == last ? lineWeight : 0, height);
+                    td += format(div, clsRight, lineColor, lineWeight, lineWeight, 0, height);
+
+                    td += '</td>';
+
+                    out.push(td);
+                }
+
+                return out.join('');
+            }
+        }
+    ],
+
+    /**
+     * @cfg {Ext.XTemplate/String/String[]}} childrenTpl Container with children template
+     * @private
+     */
+    childrenTpl: [
+        '<tr class="{view.containerCls}">',
+            '{%values.view.renderNodes(values.node.childNodes, out)%}',
+        '</tr>'
+    ],
+
+    /**
+     * @cfg {Ext.XTemplate/String/String[]}} containerTpl Simple container template
+     * @private
+     */
+    containerTpl: '<tr class="{view.containerCls}"></tr>',
+
+    /**
+     * Record node image format
+     * @private
+     */
+    imgText: '<img src="{0}" class="{1}" />',
+
+    /**
+     * Inner node structure template
+     * @private
+     */
+    innerNodeTpl: [
+        '<table cellpadding="0" cellspacing="0" border="0"><tbody>',
+            //node content
+            '<tr class="{view.nodeContentRowCls}">',
+                '<td colspan="{node.childNodes.length}">',
+                    '<tpl if="node.data.icon || node.data.iconCls">',
+                        '{[Ext.String.format(values.view.imgText, values.node.data.icon ? values.node.data.icon : Ext.BLANK_IMAGE_URL, values.node.data.iconCls ? values.node.data.iconCls : "")]}',
+                    '</tpl>',
+                    '<span id="{nodeId}" class="{view.nodeContentCls}' +
+                        '{[values.view.itemCls ? " "+values.view.itemCls : ""]}',
+                        '{[values.node.get("cls") ? " "+values.node.get("cls") : ""]}',
+                        '" data-recordId="{[values.view.getRecordId(values.node)]}"',
+                        '<tpl if="node.data.qtitle && node.data.qtip">',
+                            ' data-qtitle="{node.data.qtitle:htmlEncode}"',
+                        '</tpl>',
+                        '<tpl if="node.data.qtip">',
+                            ' data-qtip="{node.data.qtip:htmlEncode}"',
+                        '</tpl>',
+                        '>{[values.view.renderItem(values.view, values.node)]}',
+                    '</span>',
+                '</td>',
+            '</tr>',
+
+            //children
+            '<tpl if="this.handleChildren(node)">',
+                //down line
+                '{[values.view.downLineTpl.apply(values)]}',
+
+                //children lines
+                '{[values.view.childrenLinesTpl.apply(values)]}',
+
+                //children container
+                '{[this.renderChildren(values)]}',
+            '</tpl>',
+        '</tbody></table>',
+        {
+            renderChildren: function(values){
+                var out=[];
+                values.view.childrenTpl.applyOut(values, out);
+                return out.join('');
+            },
+            handleChildren: function(node){
+                return (node.childNodes.length || (!node.isLeaf() && !node.get('loaded')));
+            }
+        }
+    ],
+
+    /**
+     * @cfg {Ext.XTemplate/String/String[]}} nodeTpl Full node component template
+     * @private
+     */
+    nodeTpl: [
+        '<td class="{view.nodeCls}{[!values.node.isLeaf() && !values.node.isExpanded() ? " " + values.view.collapseCls: ""]}" style="padding: 0 {view.nodeSpacing}px;">',
+        '{[values.view.innerNodeTpl.apply(values)]}',
+        '</td>'
+    ],
+
+    /**
+     * @cfg {Ext.XTemplate/String/String[]} itemTpl Template used to render the node's content.
+     */
+    itemTpl: '{text}',
+
+    /**
+     * @cfg {String} wrapperSelector Component wrapper CSS selector.
+     * @private
+     */
+    wrapperSelector: '.'+Ext.baseCSSPrefix + 'ochart-wrap',
+
+    /**
+     * @cfg {String} itemSelector Node content CSS selector
+     * private
+     */
+    itemSelector: '.'+Ext.baseCSSPrefix + 'ochart-node-content',
+
+    /**
+     * @cfg {String} itemRowSelector Item content row CSS selector
+     * private
+     */
+    itemRowSelector: '.'+Ext.baseCSSPrefix + 'ochart-node-row',
+
+    /**
+     * @cfg {String} nodeItemContainerSelector Node content row CSS selector
+     * private
+     */
+    nodeItemContainerSelector: 'table > tbody > .'+Ext.baseCSSPrefix + 'ochart-node-row',
+
+    /**
+     * @property {String} nodeSelector Node container CSS selector
+     * private
+     */
+    nodeSelector: '.'+Ext.baseCSSPrefix + 'ochart-node',
+
+    nodeBodySelector: 'table > tbody',
+
+    nodeContainerSelector: 'table > tbody > .'+Ext.baseCSSPrefix + 'ochart-container',
+
+    expanderSelector: '.'+Ext.baseCSSPrefix + 'ochart-expander',
+
+    inlineExpanderContainerSelector: 'table > tbody > .'+Ext.baseCSSPrefix + 'ochart-expander-row',
+
+    inlineExpanderContentSelector: 'table > tbody > .'+Ext.baseCSSPrefix + 'ochart-expander-row > td',
+
+    downLineContainerSelector: 'table > tbody > .'+Ext.baseCSSPrefix + 'ochart-down',
+
+    downLineSelector: 'table > tbody > .'+Ext.baseCSSPrefix + 'ochart-down > td',
+
+    childrenLinesSelector: 'table > tbody > .' + Ext.baseCSSPrefix + 'ochart-children-lines',
+
+    expandTip: 'Click here to expand this node.',
+
+    collapseTip: 'Click here to collapse this node.',
+
+    addBeforeTip: 'Add a new item before this.',
+
+    addAfterTip: 'Add a new item after this.',
+
+    addChildTip: 'Add a new child node to this item.',
+
+    removeItemTip: 'Remove this item.',
+
+    /**
+     * @cfg {Boolean} trackOver
+     * When `true` the {@link #overItemCls} will be applied to nodes when hovered over.
+     * This in return will also cause {#highlightitem} and
+     * {#unhighlightitem} events to be fired.
+     *
+     * Enabled automatically when the {@link #overItemCls} config is set.
+     */
+    trackOver: false,
+
+    /**
+     * @cfg {Number} [mouseOverOutBuffer=20]
+     * The number of milliseconds to buffer mouseover and mouseout event handling on view items.
+     *
+     * Configure this as `false` to process mouseover and mouseout events immediately.
+     */
+    mouseOverOutBuffer: 20,
+
+    inputTagRe: /^textarea$|^input$/i,
+
+    /**
+     * @cfg {String} overItemCls='x-ochart-over-node' Mouse over item class.
+     */
+    overItemCls: Ext.baseCSSPrefix + 'ochart-over-node',
+
+    /**
+     * @cfg {String} expanderCls Expand tool class.
+     */
+    expanderCls: null,
+
+    /**
+     * @cfg {String} addBeforeCls Add before tool class.
+     */
+    addBeforeCls: null,
+
+    /**
+     * @cfg {String} addAfterCls Add after tool class.
+     */
+    addAfterCls: null,
+
+    /**
+     * @cfg {String} addChildCls Add child tool class.
+     */
+    addChildCls: null,
+
+    /**
+     * @cfg {String} removeItemCls Remove item tool class.
+     */
+    removeItemCls: null,
+
+    /**
+     * @cfg {String} selectedItemCls
+     * A CSS class to apply to each selected item in the view.
+     */
+    selectedItemCls: Ext.baseCSSPrefix + 'item-selected',
+
+    /**
+     * @cfg {String} collapseCls
+     * A CSS class to apply to each item that is collapsed in the view.
+     */
+    collapseCls: Ext.baseCSSPrefix + 'item-collapsed',
+
+    inheritableStatics: {
+        /**
+         * Event maps
+         *
+         * @static
+         * @protected
+         */
+        EventMap: {
+            mousedown  : 'MouseDown',
+            mouseup    : 'MouseUp',
+            click      : 'Click',
+            dblclick   : 'DblClick',
+            contextmenu: 'ContextMenu',
+            mouseover  : 'MouseOver',
+            mouseout   : 'MouseOut',
+            mouseenter : 'MouseEnter',
+            mouseleave : 'MouseLeave',
+            keydown    : 'KeyDown',
+            focus      : 'Focus'
+        }
+    },
+
+    /**
+     * @cfg {String} triggerEvent="itemclick"
+     * Trigger event used by the selection model to handle item click
+     *
+     * @private
+     */
+    triggerEvent: 'itemclick',
+
+    /**
+     * @cfg {String} triggerCtEvent="containerclick"
+     * Trigger event used by the selection model to handle container click
+     *
+     * @private
+     */
+    triggerCtEvent: 'containerclick',
+
+    /** @inheritdoc */
+    initComponent: function(){
+        var me = this,
+            store = me.store,
+            root = me.root;
+
+        /**
+         * @cfg {String} wrapperCls Component wrapper class
+         * @private
+         */
+        me.wrapperCls = me.baseCls + '-wrap';
+
+        /**
+         * @cfg {String} containerCls Node container class
+         * @private
+         */
+        me.containerCls = me.baseCls + '-container';
+
+        /**
+         * @cfg {String} nodeCls Node component class
+         * @private
+         */
+        me.nodeCls = me.baseCls + '-node';
+
+        /**
+         * @cfg {String} nodeContentRowCls Node's content line class
+         * @private
+         */
+        me.nodeContentRowCls = me.baseCls + '-node-row';
+
+        /**
+         * @cfg {String} nodeContentCls Node's content class
+         * @private
+         */
+        me.nodeContentCls = me.baseCls + '-node-content';
+
+        /**
+         * @cfg {String} downLineCls Node's down line connector class
+         * @private
+         */
+        me.downLineCls = me.baseCls + '-down';
+
+        /**
+         * @cfg {String} expanderRowCls Inline expander row class
+         * @private
+         */
+        me.expanderRowCls = me.baseCls + '-expander-row';
+
+        /**
+         * @cfg {String} expanderCmpCls Expander component class
+         * @private
+         */
+        me.expanderCmpCls = me.baseCls + '-expander';
+
+        /**
+         * @cfg {String} addNodeCmpCls Add node component class
+         * @private
+         */
+        me.addNodeCmpCls = me.baseCls + '-add';
+
+        /**
+         * @cfg {String} removeNodeCmpCls Remove node component class
+         * @private
+         */
+        me.removeNodeCmpCls = me.baseCls + '-remove';
+
+        /**
+         * @cfg {String} childrenLinesCls Children connector lines row
+         * @private
+         */
+        me.childrenLinesCls = me.baseCls + '-children-lines';
+
+        //prepare templates
+        me.rootTpl          = Ext.XTemplate.getTpl(this, 'rootTpl');
+        me.nodesTpl         = Ext.XTemplate.getTpl(this, 'nodesTpl');
+        me.nodeTpl          = Ext.XTemplate.getTpl(this, 'nodeTpl');
+        me.innerNodeTpl     = Ext.XTemplate.getTpl(this, 'innerNodeTpl');
+        me.downLineTpl      = Ext.XTemplate.getTpl(this, 'downLineTpl');
+        me.childrenLinesTpl = Ext.XTemplate.getTpl(this, 'childrenLinesTpl');
+        me.childrenLineTpl  = Ext.XTemplate.getTpl(this, 'childrenLineTpl');
+        me.childrenTpl      = Ext.XTemplate.getTpl(this, 'childrenTpl');
+        me.containerTpl     = Ext.XTemplate.getTpl(this, 'containerTpl');
+        me.itemTpl          = Ext.XTemplate.getTpl(this, 'itemTpl');
+
+        //adjust spacings
+        if(me.levelSpacing < 5) me.levelSpacing = 5;
+
+        //create mouse over buffer if need
+        if (me.mouseOverOutBuffer) {
+            me.handleMouseOverOrOut = Ext.Function.createBuffered(me.handleMouseOverOrOut, me.mouseOverOutBuffer, me);
+            me.lastMouseOverOutEvent = new Ext.EventObjectImpl();
+        }
+
+        if (me.overItemCls) {
+            me.trackOver = true;
+        }
+
+        this.addEvents(
+            /**
+             * @event beforeitemmousedown
+             * Fires before the mousedown event on an item is processed. Returns false to cancel the default action.
+             * @param {Ext.view.View} this
+             * @param {Ext.data.Model} record The record that belongs to the item
+             * @param {HTMLElement} item The item's element
+             * @param {Number} index The item's index
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'beforeitemmousedown',
+            /**
+             * @event beforeitemmouseup
+             * Fires before the mouseup event on an item is processed. Returns false to cancel the default action.
+             * @param {Ext.view.View} this
+             * @param {Ext.data.Model} record The record that belongs to the item
+             * @param {HTMLElement} item The item's element
+             * @param {Number} index The item's index
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'beforeitemmouseup',
+            /**
+             * @event beforeitemmouseenter
+             * Fires before the mouseenter event on an item is processed. Returns false to cancel the default action.
+             * @param {Ext.view.View} this
+             * @param {Ext.data.Model} record The record that belongs to the item
+             * @param {HTMLElement} item The item's element
+             * @param {Number} index The item's index
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'beforeitemmouseenter',
+            /**
+             * @event beforeitemmouseleave
+             * Fires before the mouseleave event on an item is processed. Returns false to cancel the default action.
+             * @param {Ext.view.View} this
+             * @param {Ext.data.Model} record The record that belongs to the item
+             * @param {HTMLElement} item The item's element
+             * @param {Number} index The item's index
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'beforeitemmouseleave',
+            /**
+             * @event beforeitemclick
+             * Fires before the click event on an item is processed. Returns false to cancel the default action.
+             * @param {Ext.view.View} this
+             * @param {Ext.data.Model} record The record that belongs to the item
+             * @param {HTMLElement} item The item's element
+             * @param {Number} index The item's index
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'beforeitemclick',
+            /**
+             * @event beforeitemdblclick
+             * Fires before the dblclick event on an item is processed. Returns false to cancel the default action.
+             * @param {Ext.view.View} this
+             * @param {Ext.data.Model} record The record that belongs to the item
+             * @param {HTMLElement} item The item's element
+             * @param {Number} index The item's index
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'beforeitemdblclick',
+            /**
+             * @event beforeitemcontextmenu
+             * Fires before the contextmenu event on an item is processed. Returns false to cancel the default action.
+             * @param {Ext.view.View} this
+             * @param {Ext.data.Model} record The record that belongs to the item
+             * @param {HTMLElement} item The item's element
+             * @param {Number} index The item's index
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'beforeitemcontextmenu',
+            /**
+             * @event beforeitemkeydown
+             * Fires before the keydown event on an item is processed. Returns false to cancel the default action.
+             * @param {Ext.view.View} this
+             * @param {Ext.data.Model} record The record that belongs to the item
+             * @param {HTMLElement} item The item's element
+             * @param {Number} index The item's index
+             * @param {Ext.EventObject} e The raw event object. Use {@link Ext.EventObject#getKey getKey()} to retrieve the key that was pressed.
+             */
+            'beforeitemkeydown',
+            /**
+             * @event itemmousedown
+             * Fires when there is a mouse down on an item
+             * @param {Ext.view.View} this
+             * @param {Ext.data.Model} record The record that belongs to the item
+             * @param {HTMLElement} item The item's element
+             * @param {Number} index The item's index
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'itemmousedown',
+            /**
+             * @event itemmouseup
+             * Fires when there is a mouse up on an item
+             * @param {Ext.view.View} this
+             * @param {Ext.data.Model} record The record that belongs to the item
+             * @param {HTMLElement} item The item's element
+             * @param {Number} index The item's index
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'itemmouseup',
+            /**
+             * @event itemmouseenter
+             * Fires when the mouse enters an item.
+             * @param {Ext.view.View} this
+             * @param {Ext.data.Model} record The record that belongs to the item
+             * @param {HTMLElement} item The item's element
+             * @param {Number} index The item's index
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'itemmouseenter',
+            /**
+             * @event itemmouseleave
+             * Fires when the mouse leaves an item.
+             * @param {Ext.view.View} this
+             * @param {Ext.data.Model} record The record that belongs to the item
+             * @param {HTMLElement} item The item's element
+             * @param {Number} index The item's index
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'itemmouseleave',
+            /**
+             * @event itemclick
+             * Fires when an item is clicked.
+             * @param {Ext.view.View} this
+             * @param {Ext.data.Model} record The record that belongs to the item
+             * @param {HTMLElement} item The item's element
+             * @param {Number} index The item's index
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'itemclick',
+            /**
+             * @event itemdblclick
+             * Fires when an item is double clicked.
+             * @param {Ext.view.View} this
+             * @param {Ext.data.Model} record The record that belongs to the item
+             * @param {HTMLElement} item The item's element
+             * @param {Number} index The item's index
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'itemdblclick',
+            /**
+             * @event itemcontextmenu
+             * Fires when an item is right clicked.
+             * @param {Ext.view.View} this
+             * @param {Ext.data.Model} record The record that belongs to the item
+             * @param {HTMLElement} item The item's element
+             * @param {Number} index The item's index
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'itemcontextmenu',
+            /**
+             * @event itemkeydown
+             * Fires when a key is pressed while an item is currently selected.
+             * @param {Ext.view.View} this
+             * @param {Ext.data.Model} record The record that belongs to the item
+             * @param {HTMLElement} item The item's element
+             * @param {Number} index The item's index
+             * @param {Ext.EventObject} e The raw event object. Use {@link Ext.EventObject#getKey getKey()} to retrieve the key that was pressed.
+             */
+            'itemkeydown',
+            /**
+             * @event beforecontainermousedown
+             * Fires before the mousedown event on the container is processed. Returns false to cancel the default action.
+             * @param {Ext.view.View} this
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'beforecontainermousedown',
+            /**
+             * @event beforecontainermouseup
+             * Fires before the mouseup event on the container is processed. Returns false to cancel the default action.
+             * @param {Ext.view.View} this
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'beforecontainermouseup',
+            /**
+             * @event beforecontainermouseover
+             * Fires before the mouseover event on the container is processed. Returns false to cancel the default action.
+             * @param {Ext.view.View} this
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'beforecontainermouseover',
+            /**
+             * @event beforecontainermouseout
+             * Fires before the mouseout event on the container is processed. Returns false to cancel the default action.
+             * @param {Ext.view.View} this
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'beforecontainermouseout',
+            /**
+             * @event beforecontainerclick
+             * Fires before the click event on the container is processed. Returns false to cancel the default action.
+             * @param {Ext.view.View} this
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'beforecontainerclick',
+            /**
+             * @event beforecontainerdblclick
+             * Fires before the dblclick event on the container is processed. Returns false to cancel the default action.
+             * @param {Ext.view.View} this
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'beforecontainerdblclick',
+            /**
+             * @event beforecontainercontextmenu
+             * Fires before the contextmenu event on the container is processed. Returns false to cancel the default action.
+             * @param {Ext.view.View} this
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'beforecontainercontextmenu',
+            /**
+             * @event beforecontainerkeydown
+             * Fires before the keydown event on the container is processed. Returns false to cancel the default action.
+             * @param {Ext.view.View} this
+             * @param {Ext.EventObject} e The raw event object. Use {@link Ext.EventObject#getKey getKey()} to retrieve the key that was pressed.
+             */
+            'beforecontainerkeydown',
+            /**
+             * @event containermouseup
+             * Fires when there is a mouse up on the container
+             * @param {Ext.view.View} this
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'containermouseup',
+            /**
+             * @event containermouseover
+             * Fires when you move the mouse over the container.
+             * @param {Ext.view.View} this
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'containermouseover',
+            /**
+             * @event containermouseout
+             * Fires when you move the mouse out of the container.
+             * @param {Ext.view.View} this
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'containermouseout',
+            /**
+             * @event containerclick
+             * Fires when the container is clicked.
+             * @param {Ext.view.View} this
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'containerclick',
+            /**
+             * @event containerdblclick
+             * Fires when the container is double clicked.
+             * @param {Ext.view.View} this
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'containerdblclick',
+            /**
+             * @event containercontextmenu
+             * Fires when the container is right clicked.
+             * @param {Ext.view.View} this
+             * @param {Ext.EventObject} e The raw event object
+             */
+            'containercontextmenu',
+            /**
+             * @event containerkeydown
+             * Fires when a key is pressed while the container is focused, and no item is currently selected.
+             * @param {Ext.view.View} this
+             * @param {Ext.EventObject} e The raw event object. Use {@link Ext.EventObject#getKey getKey()} to retrieve the key that was pressed.
+             */
+            'containerkeydown',
+
+            /**
+             * @event
+             * @inheritdoc Ext.selection.DataViewModel#selectionchange
+             */
+            'selectionchange',
+            /**
+             * @event
+             * @inheritdoc Ext.selection.DataViewModel#beforeselect
+             */
+            'beforeselect',
+            /**
+             * @event
+             * @inheritdoc Ext.selection.DataViewModel#beforedeselect
+             */
+            'beforedeselect',
+            /**
+             * @event
+             * @inheritdoc Ext.selection.DataViewModel#select
+             */
+            'select',
+            /**
+             * @event
+             * @inheritdoc Ext.selection.DataViewModel#deselect
+             */
+            'deselect',
+            /**
+             * @event
+             * @inheritdoc Ext.selection.DataViewModel#focuschange
+             */
+            'focuschange',
+
+            /**
+             * @event highlightitem
+             * Fires when a node is highlighted using keyboard navigation, or mouseover.
+             * @param {Ext.view.View} view This View Component.
+             * @param {Ext.Element} node The highlighted node.
+             */
+            'highlightitem',
+
+            /**
+             * @event unhighlightitem
+             * Fires when a node is unhighlighted using keyboard navigation, or mouseout.
+             * @param {Ext.view.View} view This View Component.
+             * @param {Ext.Element} node The previously highlighted node.
+             */
+            'unhighlightitem',
+
+            /**
+             * @event additem
+             * Fires when one of add tools is clicked.
+             * @param {Ext.view.View} view This View Component.
+             * @param {Ext.data.NodeInterface} record The reference record for add action.
+             * @param {"before/after/child"} where Where to add the new record in relation to the reference record.
+             * @param {Ext.dom.Element} node The node element.
+             */
+            'additem',
+
+            /**
+             * @event removeitem
+             * Fires when remove item tool is clicked.
+             * @param {Ext.view.View} view This View Component.
+             * @param {Ext.data.NodeInterface} record The reference record for remove action.
+             * @param {Ext.dom.Element/null} node The node element.
+             */
+            'removeitem',
+
+            /**
+             * @event itemupdate
+             * Fires when one of nodes has been changed.
+             * @param {Ext.view.View} view This View Component.
+             * @param {Ext.data.NodeInterface} record The reference record for add action.
+             * @param {Ext.dom.Element} node The node element.
+             */
+            'itemupdate'
+        );
+
+        //create store if needed
+        if(Ext.isString(store)){
+            //it's an store id
+            store = Ext.StoreManager.lookup(store);
+        }
+        else if( !store || Ext.isObject(store) && !store.isStore){
+            //it's an store object declaration
+            store = me.store = new Ext.data.TreeStore(Ext.apply({
+                root: root,
+                fields: me.fields,
+                model: me.model
+            }), store);
+
+
+        }
+        else if (root) {
+            store = me.store = Ext.data.StoreManager.lookup(store);
+        }
+
+        //sets the root node
+        me.root = root || store.getRootNode();
+
+        //binds the store
+        me.bindStore(store, true, 'dataStore');
+        me.callParent(arguments);
+    },
+
+    /** @inheritdoc */
+    onRender: function(){
+        var me = this;
+        me.callParent(arguments);
+        me.el.ddScrollConfig= {
+            vthresh: 25,
+            hthresh: 25,
+            frequency: 300,
+            increment: 100
+        };
+    },
+
+    beforeRender: function() {
+        var me = this;
+        me.callParent(arguments);
+        //me.protoEl.set('unselectable', true);
+        me.getSelectionModel().beforeViewRender(me);
+    },
+
+    afterRender: function(){
+        var me = this,
+            store = this.store,
+            onMouseOverOut = me.mouseOverOutBuffer ? me.onMouseOverOut : me.handleMouseOverOrOut;
+        me.callParent();
+
+        //todo handle keyboard an context menu
+        //init component input event handler
+        me.mon( me.el, {
+            scope      : me,
+            /*
+             * We need to make copies of this since some of the events fired here will end up triggering
+             * a new event to be called and the shared event object will be mutated. In future we should
+             * investigate if there are any issues with creating a new event object for each event that
+             * is fired.
+             */
+            freezeEvent: true,
+            click      : me.handleEvent,
+            mousedown  : me.handleEvent,
+            mouseup    : me.handleEvent,
+            dblclick   : me.handleEvent,
+            contextmenu: me.handleEvent,
+            keydown    : me.handleEvent,
+            mouseover  : me.onMouseOverOut,
+            mouseout   : me.onMouseOverOut
+        } );
+
+        //there's not a root node?
+        if( !me.store.getCount() ){
+            //load the store if need and postpone rendering
+            if( !store.isLoading() && me.autoLoadStore){
+                store.load();
+            }
+        }
+        else{
+            this.refresh();
+        }
+
+        this.getSelectionModel().bindComponent(this);
+
+        //inline expander tool config
+        me.el.on({
+            scope: me,
+            delegate: me.expanderSelector,
+            mouseover: me.onExpanderMouseOver,
+            mouseout: me.onExpanderMouseOut,
+            click: me.onInlineExpanderClick
+        });
+        //init floating tools
+        me.expandTool = Ext.create('Ext.Component',{
+            floating: true,
+            border: 0,
+            autoEl: {
+               tag: 'div',
+               'data-qtip': Ext.util.Format.htmlEncode(me.collapseTip)
+            },
+            shadow: false,
+            hidden: true,
+            width: 16,
+            height: 16,
+            cls: me.expanderCmpCls + (me.expanderCls ? ' '+ me.expanderCls : ''),
+            listeners:{
+                scope: me,
+                render: function(){
+                    var el = this.expandTool.getEl();
+                    el.on('click', this.onItemExpandClick, this);
+                }
+            }
+        });
+        me.addBeforeTool = Ext.create('Ext.Component',{
+            floating: true,
+            border: 0,
+            autoEl: {
+                tag: 'div',
+                'data-qtip': Ext.util.Format.htmlEncode(me.addBeforeTip)
+            },
+            shadow: false,
+            hidden: true,
+            width: 16,
+            height: 16,
+            cls: me.addNodeCmpCls + (me.addBeforeCls ? ' '+ me.addBeforeCls : ''),
+            listeners:{
+                scope: me,
+                render: function(){
+                    var el = this.addBeforeTool.getEl();
+                    this.mon(el, 'click', this.onItemAddBeforeClick, this);
+                }
+            }
+        });
+
+        me.addAfterTool = Ext.create('Ext.Component',{
+            floating: true,
+            border: 0,
+            autoEl: {
+                tag: 'div',
+                'data-qtip': Ext.util.Format.htmlEncode(me.addAfterTip)
+            },
+            shadow: false,
+            hidden: true,
+            width: 16,
+            height: 16,
+            cls: me.addNodeCmpCls + (me.addAfterCls ? ' '+ me.addAfterCls : ''),
+            listeners:{
+                scope: me,
+                render: function(){
+                    var el = this.addAfterTool.getEl();
+                    this.mon(el, 'click', this.onItemAddAfterClick, this);
+                }
+            }
+        });
+
+        me.addChildTool = Ext.create('Ext.Component',{
+            floating: true,
+            border: 0,
+            autoEl: {
+                tag: 'div',
+                'data-qtip': Ext.util.Format.htmlEncode(me.addChildTip)
+            },
+            shadow: false,
+            hidden: true,
+            width: 16,
+            height: 16,
+            cls: me.addNodeCmpCls + (me.addChildCls ? ' '+ me.addChildCls : ''),
+            listeners:{
+                scope: me,
+                render: function(){
+                    var el = this.addChildTool.getEl();
+                    this.mon(el, 'click', this.onItemAddChildClick, this);
+                }
+            }
+        });
+
+        me.removeItemTool = Ext.create('Ext.Component',{
+            floating: true,
+            border: 0,
+            autoEl: {
+                tag: 'div',
+                'data-qtip': Ext.util.Format.htmlEncode(me.removeItemTip)
+            },
+            shadow: false,
+            hidden: true,
+            width: 16,
+            height: 16,
+            cls: me.removeNodeCmpCls + (me.removeItemCls ? ' '+ me.removeItemCls : ''),
+            listeners:{
+                scope: me,
+                render: function(){
+                    var el = this.removeItemTool.getEl();
+                    this.mon(el, 'click', this.onItemRemoveClick, this);
+                }
+            }
+        });
+    },
+
+    /** @inheritdoc */
+    onDestroy: function(){
+        var me = this;
+
+        //unbind store
+        me.bindStore( null );
+
+        //fre component input handler
+        me.mun( me.el, {
+            scope      : me,
+            /*
+             * We need to make copies of this since some of the events fired here will end up triggering
+             * a new event to be called and the shared event object will be mutated. In future we should
+             * investigate if there are any issues with creating a new event object for each event that
+             * is fired.
+             */
+            freezeEvent: true,
+            click      : me.handleEvent,
+            mousedown  : me.handleEvent,
+            mouseup    : me.handleEvent,
+            dblclick   : me.handleEvent,
+            //contextmenu: me.handleEvent,
+            //keydown    : me.handleEvent,
+            mouseover  : me.onMouseOverOut,
+            mouseout   : me.onMouseOverOut
+        } );
+
+        //free inline expand tool handler
+        me.el.un( {
+            scope    : me,
+            delegate : me.expanderSelector,
+            mouseover: me.onExpanderMouseOver,
+            mouseout : me.onExpanderMouseOut,
+            click    : me.onInlineExpanderClick
+        } );
+
+        //fre the floating tools handlers
+        if(me.expandTool){
+            me.mun(me.expandTool.getEl(), 'click', me.onItemExpandClick, me);
+            me.expandTool.destroy();
+        }
+        if(me.addBeforeTool){
+            me.mun(me.addBeforeTool.getEl(), 'click', me.onItemAddBeforeClick, me);
+            me.addBeforeTool.destroy();
+        }
+        if(me.addAfterTool){
+            me.mun(me.addAfterTool.getEl(), 'click', me.onItemAddAfterClick, me);
+            me.addAfterTool.destroy();
+        }
+        if(me.addChildTool){
+            me.mun(me.addChildTool.getEl(), 'click', me.onItemAddChildClick, me);
+            me.addChildTool.destroy();
+        }
+        if(me.removeItemTool){
+            me.mun(me.removeItemTool.getEl(), 'click', me.onItemRemoveClick, me);
+            me.removeItemTool.destroy();
+        }
+
+        //free the selection model
+        if( me.selModel ){
+            me.selModel.destroy();
+        }
+
+
+        me.callParent( arguments );
+    },
+
+    /**
+     * Sets the root node for the component
+     * @param node
+     */
+    setRootNode: function(node) {
+        var me = this
+            store = this.store;
+        this.root = node;
+
+        //if root is set by loading store, postpone for onload event
+        if(!store.isLoading() && store.getCount() && me.initialLoad) this.refresh();
+    },
+
+    /**
+     * Returns the root node for this instance
+     *
+     * @returns {Ext.data.NodeInterface/null} The root node
+     */
+    getRootNode: function(){
+        return this.root;
+    },
+
+    /** @inheritdoc */
+    onBindStore: function(store, initial){
+        var me = this;
+        me.store = store;
+        me.initialLoad = false;
+
+        // Bind the store to our selection model unless it's the initial bind.
+        // Initial bind takes place in afterRender
+        // Same for first rendering
+        if (!initial) {
+            me.getSelectionModel().bindStore(store);
+            me.refresh();
+        }
+    },
+
+    /** @inheritdoc */
+    onUnbindStore: function(store, initial){
+        var me = this;
+        me.store = null;
+    },
+
+    /** @inheritdoc */
+    getStoreListeners: function(){
+        var me = this,
+            listeners = {
+                idchanged     : me.onStoreIdChanged,
+                load          : me.onStoreLoad,
+                beforeload    : me.onStoreBeforeLoad,
+                rootchange    : me.onStoreRootChange,
+                beforeexpand  : me.onStoreBeforeExpand,
+                expand        : me.onStoreExpand,
+                beforecollapse: me.onStoreBeforeCollapse,
+                collapse      : me.onStoreCollapse,
+                //datachanged   : me.onStoreDataChanged,
+                append        : me.onStoreAppend,
+                insert        : me.onStoreInsert,
+                clear         : me.onStoreClear,
+                refresh       : me.onDataRefresh,
+                update        : me.onStoreUpdate
+            };
+
+        listeners['remove'] = me.onStoreRemove;
+        if( Ext.versions.extjs.isLessThan( '4.2.0' ) ){
+            //there´s a bug in code below 4.2.0, update event is not fired for treestore
+            //so use a flag to solve it in the component code
+            me.needNodeJoin = true;
+        }
+        else{
+            listeners['bulkremove'] = me.onStoreBulkRemove;
+        }
+
+        return listeners;
+    },
+
+    /**
+     * Draws/Redraws the full component's content
+     */
+    refresh: function(){
+        var me = this,
+            el = me.el,
+            store = me.store,
+            root = me.root,
+            body, out;
+
+        //not rendered yet or already refreshing, so postpone
+        if(!me.rendered || me.refreshingView) return;
+
+        body = me.getChildrenContainer(me.el);
+
+        me.hideTools();
+
+        //its rendered but doesnt have associated data??
+        //so clear the component
+        if(!store || !root){
+            me.renderTpl.overwrite(me.el,{});
+            return;
+        }
+
+        me.suspendEvents();
+
+        me.refreshingView = true;
+
+        me.initialLoad = true;
+
+        out = ['<table class="'+me.wrapperCls+'"><tr class="'+me.containerCls+'">'];
+        me.renderNodes(me.rootVisible ? [root] : root.childNodes, out);
+        out.push('</tr></table>');
+
+        Ext.fly(me.el).setHTML(out.join(''));
+
+        me.refreshingView = false;
+
+        me.resumeEvents();
+    },
+
+    /**
+     *
+     * @param root
+     *
+     * @todo Precisa acertar, pois o nó pode não ser a raiz da arvore e pode ser necessário ler até encontrar
+     */
+    onStoreRootChange: function(root) {
+        var me = this;
+        //there is a bug with update event for ext below 4.2.0
+        //so we need fire this events any way
+        if(!me.needNodeJoin){
+            me.store.un( 'append', me.onStoreAppend, me );
+            me.store.un( 'update', me.onStoreUpdate, me );
+        }
+        me.storeRootLoad = true;
+        me.setRootNode(root);
+    },
+
+    onStoreBeforeExpand: function(record){
+        var me = this,
+            item = me.getItemByRecord(record);
+
+        if(!item) return;
+        me.nodeRegionOnExpand = Ext.fly(item).getRegion();
+    },
+
+    /**
+     * Expands a record that is loaded in the view.
+     *
+     * If an animated collapse or expand of the record is in progress, this call will be ignored.
+     * @param {Ext.data.Model} record The record to expand
+     * @param {Boolean} [deep] True to expand nodes all the way down the tree hierarchy.
+     * @param {Function} [callback] The function to run after the expand is completed
+     * @param {Object} [scope] The scope of the callback function.
+     */
+    expand: function(record, deep, callback, scope) {
+	var me = this,
+            result;
+
+        // Need to suspend layouts because the expand process makes multiple changes to the UI
+        // in addition to inserting new nodes. Folder and elbow images have to change, so we
+        // need to coalesce all resulting layouts.
+        Ext.suspendLayouts();
+        result = record.expand(deep, callback, scope);
+        Ext.resumeLayouts(true);
+        return result;
+    },
+
+    collapse: function(record, deep, callback, scope) {
+        var me = this,
+            result;
+
+        // Need to suspend layouts because the expand process makes multiple changes to the UI
+        // in addition to inserting new nodes. Folder and elbow images have to change, so we
+        // need to coalesce all resulting layouts.
+        Ext.suspendLayouts();
+        result = record.collapse(deep, callback, scope);
+        Ext.resumeLayouts(true);
+        return result;
+    },
+
+    onStoreExpand: function(record){
+        var me = this,
+            item = me.getItemByRecord(record),
+            node,
+            cls = me.collapseCls,
+            ct;
+
+        //verify if record is in the component
+        if(!item) return;
+
+        node = me.getNodeFromChildEl(item);
+
+        if(!node) return;
+
+        node.removeCls(cls);
+
+        if(me.nodeRegionOnExpand){
+            me.preserveScroll(item);
+        }
+        else me.focusNode(record);
+        me.nodeRegionOnExpand = null;
+    },
+
+    onStoreBeforeCollapse: function(record){
+        var me = this,
+            item = me.getItemByRecord(record);
+
+        if(!item) return;
+        me.nodeRegionOnExpand = Ext.fly(item).getRegion();
+    },
+
+    preserveScroll: function(node){
+        var me = this,
+            region = Ext.fly(node).getRegion(),
+            oldRegion = me.nodeRegionOnExpand,
+            diffX, diffY;
+
+        diffY = region.top - oldRegion.top;
+        diffX = region.left - oldRegion.left;
+
+        me.scrollBy(diffX, diffY);
+
+    },
+
+    onStoreCollapse: function(record){
+        var me = this,
+            item = me.getItemByRecord(record),
+            node,
+            cls = me.collapseCls,
+            ct;
+
+        //verify if record is in the component
+        if(!item) return;
+
+        node = me.getNodeFromChildEl(item);
+
+        if(!node) return;
+
+        node.addCls(cls);
+        if(me.nodeRegionOnExpand){
+            me.preserveScroll(item);
+        }
+        else me.focusNode(record);
+        me.nodeRegionOnExpand = null;
+    },
+
+    onStoreIdChanged: function(store, rec, oldId, newId, oldInternalId){
+        var me = this,
+            nodeDom;
+
+        if (me.rendered) {
+            nodeDom = me.getNode(oldId || oldInternalId);
+            if (nodeDom) {
+                nodeDom.setAttribute('data-recordId', me.getRecordId(rec));
+                nodeDom.id = me.getNodeId(rec);
+            }
+        }
+    },
+
+    /*onStoreDataChanged: function(){
+        console.log('changed');
+    },*/
+
+    onStoreBeforeLoad: function(store, operation, options){
+        var me = this,
+            loadMask = me.loadMask,
+            nodeItem, node;
+
+        if(me.rendered && loadMask){
+            if(Ext.isObject(loadMask)){
+                loadMask.show();
+            }
+            else{
+                nodeItem = me.getItemByRecord(operation.node);
+                if(!nodeItem) return;
+                node = me.getNodeFromChildEl(nodeItem);
+                node = me.getNodeInlineExpanderContainer(node);
+                Ext.fly(node).mask(me.loadingText);
+            }
+        }
+    },
+
+    onStoreLoad: function(store, fillRoot, newNodes) {
+        var me = this,
+            root = me.root,
+            loadMask = me.loadMask,
+            parent, node, nodeItem;
+
+        // Always update the current node, since the load may be triggered
+        // by .load() directly instead of .expand() on the node
+        fillRoot.triggerUIUpdate();
+
+        me.storeRootLoad = false;
+        if(!me.needNodeJoin){
+            me.store.on('append',me.onStoreAppend, me);
+            me.store.on('update',me.onStoreUpdate, me);
+        }
+
+        if(!me.rendered) return;
+
+        if(loadMask){
+            if(Ext.isObject(loadMask)){
+                loadMask.hide();
+            }
+            else{
+                nodeItem = me.getItemByRecord(fillRoot);
+                if(nodeItem){
+                    node = me.getNodeFromChildEl(nodeItem);
+                    node = me.getNodeInlineExpanderContainer(node);
+                    Ext.fly(node).unmask();
+                }
+            }
+        }
+
+        if(fillRoot == root){
+            me.refresh();
+            return;
+        }
+
+        if(root != store.getRootNode()){
+            //not all nodes of store belongs to the component
+            //so we need figure out if the loaded nodes belongs to component's root
+            parent = fillRoot.parentNode;
+            while(parent){
+                if(parent == root) break;
+                parent = parent.parentNode;
+            }
+
+            if(parent != root) return;
+        }
+        me.refreshNode(fillRoot);
+    },
+
+
+    getRecordId: function(record){
+        return (record.get('id') || record.internalId);
+    },
+
+    /**
+     * Get node's id to use for node item HTML element
+     * @param {Ext.data.NodeInterface} record The record that the element represents
+     * @returns {String} The element id
+     */
+    getNodeId: function(record){
+        return this.id + '-record-' + this.getRecordId(record);
+    },
+
+    /**
+     * Gets the record for the node item HTML element
+     *
+     * @param {HtmlElement} node The html element that represents the record
+     * @returns {Ext.data.NodeInterface} The record if found
+     */
+    getRecord: function(node) {
+        node = this.getNode(node);
+        if(node) {
+            var id = node.getAttribute('data-recordId');
+            if(!id && Ext.isIE){
+                id = node.id.substr(this.id.length+8);
+            }
+            return this.store.getNodeById(id);
+        }
+    },
+
+    /**
+     * Gets a template node item.
+     *
+     * @param {HTMLElement/String/Number/Ext.data.Model} nodeInfo An HTMLElement template node,
+     * the id of a template node or the record associated with the node.
+     *
+     * @return {HTMLElement} The node or null if it wasn't found
+     */
+    getNode : function(nodeInfo) {
+        if ((!nodeInfo && nodeInfo !== 0) || !this.rendered) {
+            return null;
+        }
+
+        if (Ext.isString(nodeInfo)) {
+            return document.getElementById(nodeInfo);
+        }
+
+        if (nodeInfo.isModel) {
+            return this.getItemByRecord(nodeInfo);
+        }
+
+        return nodeInfo; // already an HTMLElement
+    },
+
+    /**
+     * Get the nodes on this component
+     *
+     * @returns {Array} The nodes list
+     *
+     * @todo implement this method
+     */
+    getNodes: function(){
+        return [];
+    },
+
+    /**
+     * Gets a template node content or node container template from a record
+     *
+     * @param {Ext.data.NodeInterface} record The record to find the node template
+     * @param {Boolean} container When true the node's container element is returned if found, if false the node's content element
+     *
+     * @returns {HtmlElement}
+     */
+    getItemByRecord: function(record, container) {
+        var id = this.getNodeId(record);
+        return this.retrieveNode(id, container);
+    },
+
+    /**
+     * Gets a template node content or node container template from it's id
+     *
+     * @param {Ext.data.NodeInterface} record The record to find the node template
+     * @param {Boolean} container When true the node's container element is returned if found, if false the node's content element
+     *
+     * @returns {HtmlElement}
+     *
+     * @protected
+     */
+    retrieveNode: function(id, container){
+        var me = this,
+            result = me.el.getById(id, true),
+            fly;
+
+        if(container && result) {
+            if (!(fly = Ext.fly(result)).is(me.itemSelector)) {
+                return me.getNodeFromChildEl(fly);
+            }
+        }
+
+        return result;
+    },
+
+    /**
+     * Gets the node's container for the node content
+     *
+     * @param {HTMLElement|Ext.dom.Element} node The node element
+     *
+     * @returns {Ext.dom.Element/null} The content container if the node contains it
+     */
+    getItemContainer: function(node){
+        return Ext.fly(node).child(this.nodeItemContainerSelector);
+    },
+
+    /**
+     * Gets the node content container that contains the item
+     *
+     * @param {HTMLElement|Ext.dom.Element} item The item contents element
+     *
+     * @returns {Ext.dom.Element/null} The content row if found
+     */
+    getItemRowFromItem: function(item){
+        return Ext.fly(item).parent(this.itemRowSelector);
+    },
+
+    /**
+     * Get the node element from one of its children elements
+     *
+     * @param {HTMLElement|Ext.dom.Element} item The node's child element
+     *
+     * @returns {Ext.dom.Element/null} The node element if found
+     */
+    getNodeFromChildEl: function(item){
+        return Ext.fly(item).up(this.nodeSelector);
+    },
+
+    /**
+     * Get the node's body element
+     *
+     * @param {HTMLElement|Ext.dom.Element} node The node element
+     *
+     * @returns {Ext.dom.Element|null} The body of the node element if found
+     */
+    getNodeBody: function(node){
+        return Ext.fly(node).child(this.nodeBodySelector);
+    },
+
+    /**
+     * Get the node's children container
+     *
+     * @param {HTMLElement|Ext.dom.Element} node The node element
+     *
+     * @returns {Ext.dom.Element|null} The children container element
+     */
+    getChildrenContainer: function(node){
+        return Ext.fly(node).child(this.nodeContainerSelector);
+    },
+
+    /**
+     * Get the container of the children connector lines
+     *
+     * @param {HTMLElement|Ext.dom.Element} node The node element
+     *
+     * @returns {Ext.dom.Element|null} The container for the children lines of the node
+     */
+    getChildrenLinesContainer: function(node){
+        return Ext.fly(node).child(this.childrenLinesSelector);
+    },
+
+    /**
+     * Get the node's wrapper for the down line connector
+     *
+     * @param {HTMLElement|Ext.dom.Element} node The node element
+     *
+     * @returns {Ext.dom.Element|null} The node's down line connector wrapper
+     */
+    getNodeDownLine: function(node){
+        return Ext.fly(node).down(this.downLineSelector);
+    },
+
+    /**
+     * Get the node container for the down line connector
+     *
+     * @param {HTMLElement|Ext.dom.Element} node The node element
+     *
+     * @returns {Ext.dom.Element|null} The node's down line connector container
+     */
+    getNodeDownLineContainer: function(node){
+        return Ext.fly(node).down(this.downLineContainerSelector);
+    },
+
+    /**
+     * Get the node container for the inline expander
+     *
+     * @param {HTMLElement|Ext.dom.Element} node The node element
+     *
+     * @returns {Ext.dom.Element|null} The node's down line connector wrapper
+     */
+    getNodeInlineExpanderContainer: function(node){
+        return Ext.fly(node).child(this.inlineExpanderContainerSelector);
+    },
+
+    /**
+     * Get the node wrapper for the inline expander
+     *
+     * @param {HTMLElement|Ext.dom.Element} node The node element
+     *
+     * @returns {Ext.dom.Element|null} The node's down line connector wrapper
+     */
+    getNodeInlineExpander: function(node){
+        return Ext.fly(node).child(this.inlineExpanderContentSelector);
+    },
+
+
+    /**
+     * Removes a node from the component using the record data
+     *
+     * @param {Ext.data.NodeInterface} record The node record
+     *
+     * @return {HtmlElement} The node element removed
+     */
+    removeNodeFromRecord: function(record){
+        var me = this,
+            item = me.getItemByRecord(record),
+            node, parent, count, tmp;
+
+        if(!item) return null;
+
+        node = me.getNodeFromChildEl(item);
+        parent = me.getNodeFromChildEl(node);
+        me.getSelectionModel().deselect(record);
+        //Ext.fly(item).removeCls('x-item-selected');
+        Ext.fly(node).remove();
+
+        //could be a root node child and root isn't shown in the component
+        if(parent){
+            //adjust the parent node to reflect the removal
+            tmp = me.getNodeDownLine(parent);
+            count = tmp.getAttribute('colSpan') - 1;
+            if(!count){
+                //become a leaf, so remove unnecessary elements (down line, inline expander, child nodes container, etc..)
+                tmp.parent().remove();
+                me.getNodeInlineExpanderContainer(parent).remove();
+                me.getChildrenContainer(parent).remove();
+            }
+            else{
+                //adjust the parent node
+                tmp.set({colSpan: count});
+                me.getNodeInlineExpander(parent).set({colSpan : count});
+                tmp = me.getChildrenLinesContainer(parent).dom;
+                //removes the child connector line
+                if(count < 2){
+                    //remove the full container of children connector lines
+                    Ext.fly(tmp).remove();
+                }
+                else{
+                    //removes just the connector line of one child
+                    Ext.fly(tmp.childNodes[1]).remove();
+                }
+            }
+        }
+
+        return node;
+    },
+
+    /**
+     * Removes a node from the component
+     *
+     * @param {Ext.data.NodeInterface} record The node element
+     *
+     * @return {HtmlElement} The node element removed
+     */
+    removeNode: function(node){
+        var me = this,
+            parent, count, tmp;
+
+        if(!node) return null;
+
+        parent = me.getNodeFromChildEl(node);
+        Ext.fly(node).remove();
+
+        //could be a root node child and root isn't shown in the component
+        if(parent){
+            //adjust the parent node to reflect the removal
+            tmp = me.getNodeDownLine(parent);
+            count = tmp.getAttribute('colSpan') - 1;
+            if(!count){
+                //become a leaf, so remove unnecessary elements (down line, inline expander, child nodes container, etc..)
+                tmp.parent().remove();
+                me.getNodeInlineExpanderContainer(parent).remove();
+                me.getChildrenContainer(parent).remove();
+            }
+            else{
+                //adjust the parent node
+                tmp.set({colSpan: count});
+                me.getNodeInlineExpander(parent).set({colSpan : count});
+                tmp = me.getChildrenLinesContainer(parent).dom;
+                //removes the child connector line
+                if(count < 2){
+                    //remove the full container of children connector lines
+                    Ext.fly(tmp).remove();
+                }
+                else{
+                    //removes just the connector line of one child
+                    Ext.fly(tmp.childNodes[1]).remove();
+                }
+            }
+        }
+
+        return node;
+    },
+
+    /**
+     * Rebuild the full node structure
+     *
+     * @param record The record to have it's structure rebuilded
+     */
+    refreshNode: function(record){
+        var me = this,
+            nodeItem = me.getItemByRecord(record),
+            node;
+
+        //the node was not found?
+        if(!nodeItem  ){
+            return;
+        }
+
+        node = me.getNodeFromChildEl(nodeItem);
+        if(!node){
+            return;
+        }
+
+        me.innerNodeTpl.overwrite(node, {view: me, node: record, nodeId: me.getNodeId(record)});
+    },
+
+    insertNodeFromRecord: function(record, refRecord){
+        var me = this,
+            parentRecord = record.parentNode,
+            node,nodeItem,
+            inWrapper = false,
+            childCount = parentRecord.childNodes.length,
+            renderBuffer = me.renderBuffer,
+            out, container, body, len, tmp, parentItem,
+            parentNode, values, downLine, reference;
+
+        if(!me.rendered){
+            return;
+        }
+
+        nodeItem = me.getItemByRecord(record);
+        if(nodeItem){
+            node = me.getNodeFromChildEl(nodeItem);
+        }
+
+        parentItem = me.getItemByRecord(parentRecord);
+
+        //insert at root but root could not be visible, so add to component wrapper
+        if(!parentItem){
+            parentNode = me.el;
+            inWrapper = true;
+        }
+        else{
+            parentNode = me.getNodeFromChildEl(parentItem);
+        }
+
+        //if the node doesn't exist yet, create it
+        if(!node){
+            //'<td class="{view.nodeCls}{[!values.node.isLeaf() && !values.node.isExpanded() ? " " + values.view.collapseCls: ""]}" style="padding: 0 {view.nodeSpacing}px;">',
+            node = Ext.DomHelper.createDom({
+                tag: 'td',
+                cls: me.nodeCls + (!record.isLeaf() && !record.isExpanded() ? " " + me.collapseCls : "" ),
+                style: "padding: 0 "+me.nodeSpacing+"px",
+                html: me.innerNodeTpl.apply({view: me, node: record, nodeId: me.getNodeId(record)})
+            });
+        }
+        else{
+            tmp = Ext.DomHelper.createDom({
+                tag: 'td',
+                cls: me.nodeCls + (!record.isLeaf() && !record.isExpanded() ? " " + me.collapseCls : "" ),
+                style: "padding: 0 "+me.nodeSpacing+"px"
+            });
+
+            //Ext.fly(nodeItem).removeCls('x-item-selected');
+            Ext.fly(tmp).appendChild(node.first());
+            me.removeNode(node);
+            node = tmp;
+        }
+
+        values = {view: me, node: parentRecord, nodeId: me.getNodeId(parentRecord)};
+
+
+        //it´s an append?
+        if(!refRecord){
+            if(inWrapper){
+                //just add to the wrapper container
+                container = me.getChildrenContainer(parentNode);
+                container.appendChild(node);
+            }
+            else{
+                out = [];
+
+                downLine = me.getNodeDownLine(parentNode);
+
+                //doesn't have a down line? so it was a leaf before
+                if(!downLine){
+                    //create full container node parts
+
+                    out.push('<table>');
+                    out.push(me.downLineTpl.apply(values));
+                    out.push(me.childrenLinesTpl.apply(values));
+                    out.push(me.containerTpl.apply(values));
+                    out.push('</table>');
+                    Ext.fly(renderBuffer).setHTML(out.join(''));
+
+                    if(!parentRecord.isExpanded()){
+                        parentNode.addCls(me.collapseCls);
+                    }
+
+                    container = me.getChildrenContainer(renderBuffer);
+                    body = me.getNodeBody(parentNode);
+                    tmp = Ext.fly(renderBuffer).query('tr');
+                    len = tmp.length;
+                    for(var i= 0; i< len; ++i){
+                        body.appendChild(tmp[i]);
+                    }
+
+                    Ext.fly(container).appendChild(node)
+
+                    if(!parentRecord.isExpanded()){
+                        parentRecord.expand(false, function(){
+                            me.focusNode(me.getItemByRecord(record));
+                        }, me)
+                    }
+                    else me.focusNode(me.getItemByRecord(record));
+
+                    return;
+                }
+                else {
+                    //adjust the down line and inline expander
+                    Ext.fly(parentItem).parent().set({colSpan: childCount});
+                    downLine.set({colSpan: childCount});
+                    me.getNodeInlineExpander(parentNode).set({colSpan: childCount});
+                }
+
+                container = me.getChildrenContainer(parentNode);
+
+                //adjust the children lines
+                if(childCount > 1){
+                    tmp = me.getChildrenLinesContainer( parentNode );
+                    if( !tmp ){
+                        //was a single child, so children lines doesn't exist yet
+                        out = ['<table>']
+                        out.push(me.childrenLinesTpl.apply( values ));
+                        out.push('</table>')
+                        Ext.fly(me.renderBuffer).setHTML(out.join(''));
+                        Ext.fly(me.renderBuffer).down('tr').insertBefore(container);
+                    }
+                    else{
+                        //add the new child line
+                        var line = Ext.DomHelper.createDom({
+                            tag: 'td',
+                            html: me.childrenLineTpl.apply(values)
+                        });
+                        Ext.fly(line).insertAfter(tmp.first());
+                    }
+                }
+
+                //add the new node to children container
+                container.appendChild(node);
+            }
+        }
+        else{
+            if(!inWrapper){
+                Ext.fly(parentItem ).parent().set( {colSpan: childCount} );
+                me.getNodeDownLine( parentNode ).set( {colSpan: childCount} );
+                me.getNodeInlineExpander( parentNode ).set( {colSpan: childCount} );
+            }
+
+            container = me.getChildrenContainer(parentNode);
+
+            //adjust the children lines
+            if(!inWrapper && childCount > 1){
+                tmp = me.getChildrenLinesContainer( parentNode );
+                if( !tmp ){
+                    //was a single child, so children lines doesn't exist yet
+                    out = ['<table>']
+                    out.push(me.childrenLinesTpl.apply( values ));
+                    out.push('</table>')
+                    Ext.fly(me.renderBuffer).setHTML(out.join(''));
+                    Ext.fly(me.renderBuffer).down('tr').insertBefore(container);
+                }
+                else{
+                    //add the new child line
+                    var line = Ext.DomHelper.createDom({
+                        tag: 'td',
+                        html: me.childrenLineTpl.apply(values)
+                    });
+                    Ext.fly(line).insertAfter(tmp.first());
+                }
+            }
+
+            reference = me.getItemByRecord(refRecord);
+            if(!reference){
+                //reference not found so append to container
+                container.appendChild(node);
+            }
+            else{
+                reference = me.getNodeFromChildEl(reference);
+                Ext.fly(node).insertBefore(reference);
+            }
+
+        }
+
+        if(!parentRecord.isExpanded()){
+            parentRecord.expand(false, function(){
+                me.focusNode(me.getItemByRecord(record));
+            }, me)
+        }
+        else me.focusNode(me.getItemByRecord(record));
+
+    },
+
+    onStoreAppend: function(parentRecord, record, index, opt){
+        var me = this;
+
+        if(me.needNodeJoin) record.join(me.store);
+
+        if(me.initialLoad && !me.storeRootLoad){
+            //looks like a bug in 4.2.1 and 4.2.2 maybe before too
+            if(parentRecord.isLeaf()){
+                parentRecord.set('leaf',false);
+            }
+
+            me.insertNodeFromRecord(record);
+        }
+    },
+
+    onStoreInsert: function(parent, record, refNode, opt){
+        if(this.needNodeJoin) record.join(this.store);
+        this.insertNodeFromRecord(record, refNode);
+    },
+
+    onStoreRemove: function(parentRecord, record, isMove, opt){
+        var me = this;
+
+        //looks like a bug in 4.2.1 and 4.2.2 maybe before too
+        if(!parentRecord.isLeaf() && !parentRecord.childNodes.length){
+            parentRecord.set('leaf',true);
+        }
+
+        if(isMove) return;
+
+        if(me.needNodeJoin){
+            record.unjoin(me.store);
+        }
+
+        me.removeNodeFromRecord(record);
+    },
+
+    onStoreBulkRemove: function(store, records, isMove, opt){
+        var me = this,
+            needJoin = me.needNodeJoin,
+            len = records.length,
+            record, i;
+
+        if(isMove) return;
+        me.getSelectionModel().deselect(records);
+        for(i=0; i<len; ++i){
+            record = records[i];
+            if(needJoin){
+                record.unjoin(store);
+            }
+
+            me.removeNodeFromRecord(record);
+        }
+    },
+
+    onStoreUpdate: function(store, record, op, modifiedFields, op){
+	var me = this,
+            node;
+        if(!me.rendered){
+            return;
+        }
+
+        node = me.getItemByRecord(record);
+        if(!node) return;
+
+        Ext.fly(node).setHTML(me.renderItem(me, record));
+
+        me.fireEvent('itemupdate', me, record, node);
+    },
+
+    onDataRefresh: function(){
+        this.refresh();
+    },
+
+    onStoreClear: function(){
+        if(this.rendered){
+            this.renderTpl.overwrite(this.el,{});
+        }
+    },
+
+    renderNodes: function(records, out){
+        var me = this,
+            len = records.length,
+            i;
+
+        for(i=0; i<len; ++i){
+            me.renderNode(records[i], out);
+        }
+	var elems = document.querySelectorAll('.task-item');
+        //console.log(elems);
+	//if(elems != [])
+        //alert(elems[0].outerHTML);
+        //me.onInlineExpanderClick(null, '<span id="ochart-1063-record-root" class="x-ochart-node-content task-item" data-recordid="root">');
+    },
+
+    renderNode: function(record, out){
+        var me = this,
+            tpl = me.nodeTpl,
+            value = {view: me, node: record, nodeId: me.getNodeId(record)};
+        if(out){
+            tpl.applyOut(value, out);
+        }
+        else return tpl.apply(value);
+    },
+
+    renderItem: function(view, record){
+        return view.itemTpl.apply(record.data);
+    },
+
+    /**
+     * Gets the selection model for this component.
+     * @return {Ext.selection.Model} The selection model
+     */
+    getSelectionModel: function(){
+        var me = this,
+            mode = 'SINGLE';
+
+        if (me.simpleSelect) {
+            mode = 'SIMPLE';
+        }
+        /*else if (me.multiSelect) {
+            mode = 'MULTI';
+        }*/
+
+        // No selModel specified, or it's just a config; Instantiate
+        if (!me.selModel || !me.selModel.events) {
+            me.selModel = new sitools.user.view.modules.datasetExplorerOchart.OChartModel(Ext.apply({
+                allowDeselect: me.allowDeselect,
+                mode: mode,
+                enableKeyNav: true,
+                deselectOnContainerClick: true
+            }, me.selModel));
+        }
+
+        if (!me.selModel.hasRelaySetup) {
+            me.relayEvents(me.selModel, [
+                'selectionchange', 'beforeselect', 'beforedeselect', 'select', 'deselect', 'focuschange'
+            ]);
+            me.selModel.hasRelaySetup = true;
+        }
+
+        // lock the selection model if user
+        // has disabled selection
+        if (me.disableSelection) {
+            me.selModel.locked = true;
+        }
+
+        return me.selModel;
+    },
+
+    /**
+     * Returns true if the passed node is selected, else false.
+     * @param {HTMLElement/Number/Ext.data.Model} node The node, node index or record to check
+     * @return {Boolean} True if selected, else false
+     * @since 2.3.0
+     */
+    isSelected : function(node) {
+        var r = this.getRecord(node);
+        return this.selModel.isSelected(r);
+    },
+
+    /**
+     * Handles buffered mouse over and out event
+     * @param {HtmlEvent} e The browser event
+     *
+     * @protected
+     */
+    onMouseOverOut: function(e) {
+        var me = this;
+
+        // Determining if we are entering or leaving view items is deferred until
+        // mouse move churn settles down.
+        me.lastMouseOverOutEvent.setEvent(e.browserEvent, true);
+        me.handleMouseOverOrOut(me.lastMouseOverOutEvent);
+    },
+
+    /**
+     * Handles the the mouse over and out events
+     *
+     * @param {HtmlEvent} e The browser event
+     * @protected
+     */
+    handleMouseOverOrOut: function(e) {
+        var me = this,
+            isMouseout = e.type === 'mouseout',
+            method = isMouseout ? e.getRelatedTarget : e.getTarget,
+            nowOverItem = method.call(e, me.itemSelector);
+
+        // If the mouse event of whatever type tells use that we are no longer over the current mouseOverItem...
+        if (!me.mouseOverItem || nowOverItem !== me.mouseOverItem) {
+
+            // First fire mouseleave for the item we just left
+            if (me.mouseOverItem) {
+                e.item = me.mouseOverItem;
+                e.newType = 'mouseleave';
+                me.handleEvent(e);
+            }
+
+            // If we are over an item, fire the mouseenter
+            me.mouseOverItem = nowOverItem;
+            if (me.mouseOverItem) {
+                e.item = me.mouseOverItem;
+                e.newType = 'mouseenter';
+                me.handleEvent(e);
+            }
+            else{
+                e.item = null;
+                me.handleEvent(e);
+            }
+        }
+        else  me.handleEvent(e);
+    },
+
+    /**
+     * Handle browser events and internal events
+     *
+     * @param e The event
+     *
+     * @protected
+     */
+    handleEvent: function(e) {
+        var me = this,
+            key = e.type == 'keydown' && e.getKey();
+
+        me.processUIEvent(e);
+
+        // After all listeners have processed the event, then unless the user is typing into an input field,
+        // prevent browser's default action on SPACE which is to focus the event's target element.
+        // Focusing causes the browser to attempt to scroll the element into view.
+        if (key === e.SPACE) {
+            if (!me.inputTagRe.test(e.getTarget().tagName)) {
+                e.stopEvent();
+            }
+        }
+    },
+
+    /**
+     * Try to process an UI event
+     *
+     * @param e
+     *
+     * @returns {Boolean} true if the event was processed
+     *
+     * @protected
+     */
+    processUIEvent: function(e) {
+        // If the target event has been removed from the body (data update causing view DOM to be updated),
+        // do not process. isAncestor uses native methods to check.
+        if (!Ext.getBody().isAncestor(e.target)) {
+            return;
+        }
+
+        var me = this,
+            item = e.getTarget(me.itemSelector),
+            map = this.statics().EventMap,
+            index, record,
+            type = e.type,
+            newType = e.type,
+            sm;
+
+
+        // If the event is a mouseover/mouseout event converted to a mouseenter/mouseleave,
+        // use that event type and ensure that the item is correct.
+        if (e.newType) {
+            newType = e.newType;
+            item = e.item;
+        }
+
+        // For keydown events, try to get either the last focused item or the selected item.
+        // If we have not focused an item, we'll just fire a container keydown event.
+        if (!item && type == 'keydown') {
+            sm = me.getSelectionModel();
+            record = sm.lastFocused || sm.getLastSelected();
+            if (record) {
+                item = me.getNode(record, true);
+            }
+        }
+
+        //node item event?
+        if (item) {
+            //get the record for the template element
+            if (!record) {
+                record = me.getRecord(item);
+            }
+
+            // It is possible for an event to arrive for which there is no record... this
+            // can happen with dblclick where the clicks are on removal actions (think a
+            // grid w/"delete row" action column)
+            if (!record) {
+                return false;
+            }
+
+            index = record.get('index');
+
+            //call event handlers
+            if((me['onBeforeItem' + map[newType]](record, item, index, e) === false) ||
+                (me.fireEvent('beforeitem' + newType, me, record, item, index, e) === false) ||
+                (me['onItem' + map[newType]](record, item, index, e) === false)
+                ) {
+                return false;
+            }
+
+            me.fireEvent('item' + newType, me, record, item, index, e);
+        }
+        else {
+            item = e.getTarget(me.expanderSelector, 1);
+            if(item) return false;
+            //container event handler
+            if((me.processContainerEvent(e) === false) ||
+                (me['onBeforeContainer' + map[type]](e) === false) ||
+                (me.fireEvent('beforecontainer' + type, me, e) === false) ||
+                (me['onContainer' + map[type]](e) === false)
+                ) {
+                return false;
+            }
+
+            me.fireEvent('container' + type, me, e);
+        }
+
+        return true;
+    },
+
+    // @private
+    setHighlightedItem: function(item){
+        var me = this,
+            highlighted = me.highlightedItem,
+            overItemCls = me.overItemCls,
+            beforeOverItemCls = me.beforeOverItemCls,
+            previous;
+
+        if (highlighted != item){
+            if (highlighted) {
+                Ext.fly(highlighted).removeCls(overItemCls);
+                previous = highlighted.previousSibling;
+                if (beforeOverItemCls && previous) {
+                    Ext.fly(previous).removeCls(beforeOverItemCls);
+                }
+                me.fireEvent('unhighlightitem', me, highlighted);
+            }
+
+            me.highlightedItem = item;
+
+            if (item) {
+                Ext.fly(item).addCls(me.overItemCls);
+                previous = item.previousSibling;
+                if (beforeOverItemCls && previous) {
+                    Ext.fly(previous).addCls(beforeOverItemCls);
+                }
+                me.fireEvent('highlightitem', me, item);
+            }
+        }
+    },
+
+    /**
+     * Highlights a given item in the View. This is called by the mouseover handler if {@link #overItemCls}
+     * and {@link #trackOver} are configured, but can also be called manually by other code, for instance to
+     * handle stepping through the list via keyboard navigation.
+     * @param {HTMLElement} item The item to highlight
+     */
+    highlightItem: function(item) {
+        this.setHighlightedItem(item);
+    },
+
+    /**
+     * Un-highlights the currently highlighted item, if any.
+     */
+    clearHighlight: function() {
+        this.setHighlightedItem(undefined);
+    },
+
+    // protected
+    onItemMouseEnter: function(record, item, index, e) {
+        var me = this,
+            h;
+
+        if(me.panning) return;
+
+        if (this.trackOver) {
+            this.highlightItem(item);
+        }
+
+        if(me.toolsVisible && !me.dragging){
+            if( !record.isLeaf() && record.isExpanded() && !record.isRoot() ){
+		me.expandTool.show();
+                me.expandTool.alignTo( item, 'bl-tl' );
+            }
+
+            if( !this.readOnly ){
+                if(!record.isRoot()){
+                    me.addBeforeTool.show();
+                    me.addBeforeTool.alignTo( item, 'r-l' );
+                    me.addAfterTool.show();
+                    me.addAfterTool.alignTo( item, 'l-r' );
+                    me.removeItemTool.show();
+                    me.removeItemTool.alignTo( item, 'br-tr' );
+                }
+                me.addChildTool.show();
+                me.addChildTool.alignTo( item, 't-b' );
+            }
+        }
+
+        me.lastOverItem = item;
+    },
+
+    // protected
+    onItemMouseLeave : function(record, item, index, e) {
+        if (this.trackOver) {
+            this.clearHighlight();
+        }
+    },
+
+    // protected, template methods
+    processContainerEvent: Ext.emptyFn,
+    processItemEvent: Ext.emptyFn,
+
+    onBeforeItemMouseOut: Ext.emptyFn,
+    onBeforeItemMouseOver: Ext.emptyFn,
+    onItemMouseOut: Ext.emptyFn,
+    onItemMouseOver: Ext.emptyFn,
+
+    onItemMouseDown: Ext.emptyFn,
+    onItemMouseUp: Ext.emptyFn,
+    onItemFocus: Ext.emptyFn,
+    onItemClick: function(record){
+        if(Ext.versions.extjs.isLessThan( '4.2.0' )){
+            this.focusNode(record);
+        }
+    },
+    onItemDblClick: Ext.emptyFn,
+    onItemContextMenu: Ext.emptyFn,
+    onItemKeyDown: Ext.emptyFn,
+    onBeforeItemMouseDown: Ext.emptyFn,
+    onBeforeItemMouseUp: Ext.emptyFn,
+    onBeforeItemFocus: Ext.emptyFn,
+    onBeforeItemMouseEnter: Ext.emptyFn,
+    onBeforeItemMouseLeave: Ext.emptyFn,
+    onBeforeItemClick: Ext.emptyFn,
+    onBeforeItemDblClick: Ext.emptyFn,
+    onBeforeItemContextMenu: Ext.emptyFn,
+    onBeforeItemKeyDown: Ext.emptyFn,
+
+    onExpanderMouseOver: Ext.emptyFn,
+    onExpanderMouseOut: Ext.emptyFn,
+
+    onInlineExpanderClick: function(e, t){
+        console.log(e);
+	console.log(t);
+	var me = this,
+            node = me.getNodeFromChildEl(t),
+            record,
+            item,
+            nodeRegion;
+
+        if(!node) return;
+
+        item = node.down(me.itemSelector);
+        record = me.getRecord(item);
+        if(!record) return;
+	console.log(record);
+        if(record.isExpanded()) me.collapse(record);
+        else me.expand(record);
+    },
+
+    onItemExpandClick: function(){
+        var me = this;
+        me.onInlineExpanderClick(null, me.lastOverItem);
+        me.hideTools();
+    },
+
+    hideTools: function(){
+        var me = this;
+        if(me.toolsVisible && me.expandTool){
+            me.expandTool.hide();
+            me.addBeforeTool.hide();
+            me.addAfterTool.hide();
+            me.addChildTool.hide();
+            me.removeItemTool.hide();
+            me.lastOverItem = null;
+        }
+    },
+
+    fireAddItem: function(item, where){
+        var me = this,
+            record;
+        if(!item) return;
+
+        record = me.getRecord(item)
+
+        me.fireEvent('additem', me, record, where, item);
+        me.hideTools();
+    },
+
+    onItemAddBeforeClick: function(){
+        var item = this.lastOverItem;
+        if(!item) return;
+        this.fireAddItem(item, 'before');
+    },
+
+    onItemAddAfterClick: function(){
+        var item = this.lastOverItem;
+        if(!item) return;
+        this.fireAddItem(item, 'after');
+    },
+
+    onItemAddChildClick: function(){
+        var item = this.lastOverItem;
+        if(!item) return;
+        this.fireAddItem(item, 'child');
+    },
+
+    onItemRemoveClick: function(){
+        var me = this,
+            item = this.lastOverItem,
+            record;
+
+        if(!item) return;
+
+        record = me.getRecord(item)
+
+        me.fireEvent('removeitem', me, record, item);
+        me.hideTools();
+    },
+
+    onPanning: function(e) {
+        var me = this;
+        e.stopEvent();
+
+        var x = e.getPageX(),
+            y = e.getPageY(),
+            xDelta = x - me.mouseX,
+            yDelta = y - me.mouseY;
+
+        me.scrollBy(-xDelta, -yDelta);
+        me.mouseX = x;
+        me.mouseY = y;
+    },
+
+    onFinishPanning: function(e) {
+        var me = this;
+        Ext.getBody().un('mousemove', me.onPanning, me);
+        Ext.getDoc().un('mouseup', me.onFinishPanning, me);
+
+        if (Ext.isIE || Ext.isGecko) {
+            Ext.getBody().un('mouseenter', me.onFinishPanning, me);
+        }
+
+        me.el.setStyle('cursor','default');
+
+        me.panning = false;
+    },
+
+    onContainerMouseDown: function(e){
+        var me = this;
+        me.mouseX = e.getPageX();
+        me.mouseY = e.getPageY();
+        Ext.getBody().on('mousemove', me.onPanning, me);
+        Ext.getDoc().on('mouseup', me.onFinishPanning, me);
+
+        // For IE (and FF if using frames), if you move mouse onto the browser chrome and release mouse button
+        // we won't know about it. Next time mouse enters the body, cancel any ongoing pan activity as a fallback.
+        if (Ext.isIE || Ext.isGecko) {
+            Ext.getBody().on('mouseenter', me.onFinishPanning, me);
+        }
+
+        me.el.setStyle('cursor','move');
+
+        me.panning = true;
+
+        // required for some weird chrome bug/behavior, when whole panel was scrolled-out
+        e.stopEvent();
+    },
+
+    onContainerMouseUp: Ext.emptyFn,
+
+    onContainerMouseOver: function(){
+        this.hideTools();
+    },
+    onContainerMouseOut: Ext.emptyFn,
+    onContainerClick: function(){
+        this.el.focus();
+    },
+    onContainerDblClick: Ext.emptyFn,
+    onContainerContextMenu: Ext.emptyFn,
+    onContainerKeyDown: Ext.emptyFn,
+    onBeforeContainerMouseDown: Ext.emptyFn,
+    onBeforeContainerMouseUp: Ext.emptyFn,
+    onBeforeContainerMouseOver: Ext.emptyFn,
+    onBeforeContainerMouseOut: Ext.emptyFn,
+    onBeforeContainerClick: Ext.emptyFn,
+    onBeforeContainerDblClick: Ext.emptyFn,
+    onBeforeContainerContextMenu: Ext.emptyFn,
+    onBeforeContainerKeyDown: Ext.emptyFn,
+
+    // invoked by the selection model to maintain visual UI cues
+    onItemSelect: function(record) {
+        var node = this.getNode(record);
+
+        if(node) {
+            Ext.fly(node).addCls(this.selectedItemCls);
+        }
+    },
+
+    // invoked by the selection model to maintain visual UI cues
+    onItemDeselect: function(record) {
+        var node = this.getNode(record);
+
+        if(node) {
+            Ext.fly(node).removeCls(this.selectedItemCls);
+        }
+    },
+
+    /**
+     * Gets the item CSS selector (node content)
+     *
+     * This is required by the selection model
+     * @returns {String} The CSS selector
+     */
+    getItemSelector: function() {
+        return this.itemSelector;
+    },
+
+    /**
+     * Focuses a node in the view.
+     * @param {Ext.data.Model} rec The record associated to the node that is to be focused.
+     */
+    focusNode: function(rec){
+        var me          = this,
+            //todo verificar se deve trazer o container do nó
+            //node        = me.getNode(rec, true),
+            node        = me.getNode(rec),
+            el          = me.el,
+            adjustmentY = 0,
+            adjustmentX = 0,
+            elRegion    = el.getRegion(),
+            nodeRegion;
+
+        // Viewable region must not include scrollbars, so use
+        // DOM client dimensions
+        elRegion.bottom = elRegion.top + el.dom.clientHeight;
+        elRegion.right = elRegion.left + el.dom.clientWidth;
+        if (node) {
+            nodeRegion = Ext.fly(node).getRegion();
+            // node is above
+            if (nodeRegion.top < elRegion.top) {
+                adjustmentY = nodeRegion.top - elRegion.top;
+                // node is below
+            } else if (nodeRegion.bottom > elRegion.bottom) {
+                adjustmentY = nodeRegion.bottom - elRegion.bottom;
+            }
+
+            // node is left
+            if (nodeRegion.left < elRegion.left) {
+                adjustmentX = nodeRegion.left - elRegion.left;
+                // node is right
+            } else if (nodeRegion.right > elRegion.right) {
+                adjustmentX = nodeRegion.right - elRegion.right;
+            }
+
+            if (adjustmentX || adjustmentY) {
+                me.scrollBy(adjustmentX, adjustmentY, false);
+            }
+            el.focus();
+        }
+    },
+
+    startDrag: function(){
+        this.dragging = true;
+    },
+
+    endDrag: function(){
+        this.dragging = false;
+    }
+});
+
diff --git a/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/OChartModel.js b/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/OChartModel.js
new file mode 100644
index 0000000..65c08d1
--- /dev/null
+++ b/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/OChartModel.js
@@ -0,0 +1,289 @@
+
+Ext.namespace('sitools.user.view.modules.datasetExplorerOchart');
+
+Ext.define( 'sitools.user.view.modules.datasetExplorerOchart.OChartModel', {
+    extend: 'Ext.selection.DataViewModel',
+
+    requires: [
+        'Ext.util.KeyNav',
+        'Ext.util.KeyMap'
+    ],
+
+    destroy: function(){
+        var me = this;
+        if(me.keyMap){
+            me.keyMap.destroy();
+        }
+
+        me.callParent(arguments);
+    },
+
+    /**
+     * Overwrites model refresh so it handles a Tree Store
+     */
+    refresh: function(){
+        var me = this,
+            store = me.store,
+            rec,
+            toBeSelected = [],
+            toBeReAdded = [],
+            oldSelections = me.getSelection(),
+            len = oldSelections.length,
+            view = me.view,
+            selection,
+            change,
+            i = 0,
+            lastFocused = me.getLastFocused();
+
+        // Not been bound yet.
+        if( !store ){
+            return;
+        }
+
+        // Add currently records to the toBeSelected list if present in the Store
+        // If they are not present, and pruneRemoved is false, we must still retain the record
+        for( ; i < len; i++ ){
+            selection = oldSelections[i];
+            if( view.getNode( selection ) ){
+                toBeSelected.push( selection );
+            }
+
+            // Selected records no longer represented in Store must be retained
+            else if( !me.pruneRemoved ){
+                // See if a record by the same ID exists. If so, select it
+                rec = store.getById( selection.getId() );
+                if( rec ){
+                    toBeSelected.push( rec );
+                }
+                // If it does not exist, we have to re-add it to the selection
+                else{
+                    toBeReAdded.push( selection )
+                }
+            }
+
+            // In single select mode, only one record may be selected
+            if( me.mode === 'SINGLE' && toBeReAdded.length ){
+                break;
+            }
+        }
+
+        // there was a change from the old selected and
+        // the new selection
+        if( me.selected.getCount() != (toBeSelected.length + toBeReAdded.length) ){
+            change = true;
+        }
+
+        me.clearSelections();
+
+        if( view.getNode( lastFocused ) ){
+            // restore the last focus but suppress restoring focus
+            me.setLastFocused( lastFocused, true );
+        }
+
+        if( toBeSelected.length ){
+            // perform the selection again
+            me.doSelect( toBeSelected, false, true );
+        }
+
+        // If some of the selections were not present in the Store, but pruneRemoved is false, we must add them back
+        if( toBeReAdded.length ){
+            me.selected.addAll( toBeReAdded );
+
+            // No records reselected.
+            if( !me.lastSelected ){
+                me.lastSelected = toBeReAdded[toBeReAdded.length - 1];
+            }
+        }
+
+        me.maybeFireSelectionChange( change );
+    },
+
+    /**
+     * Overwrites model deselectAll so it handles a Tree Store
+     */
+    deselectAll: function( suppressEvent ){
+        var me = this,
+            selections = me.getSelection(),
+            selIndexes = {},
+            store = me.store,
+            start = selections.length,
+            i, l, rec;
+
+        // Cache selection records' indexes first to avoid
+        // looking them up on every sort comparison below.
+        // We can't rely on store.indexOf being fast because
+        // for whatever reason the Store in question may force
+        // sequential index lookup, which will result in O(n^2)
+        // sort performance below.
+        for( i = 0, l = selections.length; i < l; i++ ){
+            rec = selections[i];
+
+            selIndexes[rec.internalId] = rec.get( 'index' );
+        }
+
+        // Sort the selections so that the events fire in
+        // a predictable order like selectAll
+        selections = Ext.Array.sort( selections, function( r1, r2 ){
+            var idx1 = selIndexes[r1.internalId],
+                idx2 = selIndexes[r2.internalId];
+
+            // Don't check for equality since indexes will be unique
+            return idx1 < idx2 ? -1 : 1;
+        } );
+
+        if(me.suspendChanges) me.suspendChanges();
+        me.doDeselect( selections, suppressEvent );
+        if(me.resumeChanges) me.resumeChanges();
+        // fire selection change only if the number of selections differs
+        if( !suppressEvent ){
+            me.maybeFireSelectionChange( me.getSelection().length !== start );
+        }
+    },
+
+    initKeyNav: function( view ){
+        var me = this;
+
+        if( !view.rendered ){
+            view.on( {
+                render: Ext.Function.bind( me.initKeyNav, me, [view] ),
+                single: true
+            } );
+            return;
+        }
+
+        view.el.set( {
+            tabIndex: -1
+        } );
+
+        me.keyNav = new Ext.util.KeyNav( {
+            target           : view.el,
+            ignoreInputFields: true,
+            down             : Ext.pass( me.onNavKey, ['down'], me ),
+            right            : Ext.pass( me.onNavKey, ['right'], me ),
+            left             : Ext.pass( me.onNavKey, ['left'], me ),
+            up               : Ext.pass( me.onNavKey, ['up'], me ),
+            scope            : me
+        } );
+
+        me.keyMap = Ext.create('Ext.util.KeyMap',  {
+            target : view.el,
+            binding : [
+                {
+                    key: Ext.EventObject.NUM_PLUS,
+                    ctrl: false,
+                    shift: false,
+                    fn: me.onKeyExpand,
+                    scope: me
+                }, {
+                    key: Ext.EventObject.NUM_MINUS,
+                    ctrl: false,
+                    shift: false,
+                    fn: me.onKeyCollapse,
+                    scope: me
+                }
+            ]
+        });
+    },
+
+    onNavKey: function( direction ){
+        var me = this,
+            view = me.view,
+            store = view.store,
+            selected = me.getLastSelected(),
+            root = view.getRootNode(),
+            record, node;
+
+        if( !selected ){
+            if(!root) return;
+
+            selected = root;
+            if(!view.rootVisible){
+                selected = root.firstChild;
+            }
+
+            if(selected){
+                me.select(selected);
+            }
+
+            return;
+        }
+
+        direction = direction || 'right';
+        switch( direction ){
+            case 'left':
+                record = selected.previousSibling;
+                break;
+            case 'right':
+                record = selected.nextSibling;
+                break;
+            case 'up':
+                if(selected == root){
+                    record = null;
+                    break;
+                }
+
+                record = selected.parentNode;
+
+                if(!view.rootVisible && record == root){
+                    record = null;
+                }
+                break;
+            case 'down':
+                record = selected.firstChild;
+                if(!record && !selected.isLeaf()){
+                    record = selected;
+                }
+                break;
+        }
+
+        if(!record) return;
+
+        if(direction == 'down' && !selected.isExpanded()){
+            selected.expand(false, function(rec){
+                me.select(record);
+                view.hideTools();
+                if(Ext.versions.extjs.isLessThan( '4.2.0' )){
+                    view.focusNode(record);
+                }
+            }, me);
+        }
+        else{
+            me.select(record);
+            view.hideTools();
+            if(Ext.versions.extjs.isLessThan( '4.2.0' )){
+                view.focusNode(record);
+            }
+        }
+    },
+
+    onKeyExpand: function(){
+        var me = this,
+            view = me.view,
+            selected = me.getSelection(),
+            len = selected.length,
+            i;
+
+        for(i = 0; i < len; ++i){
+            selected[i].expand();
+        }
+    },
+
+    onKeyCollapse: function(){
+        var me = this,
+            view = me.view,
+            selected = me.getSelection(),
+            len = selected.length,
+            i;
+
+        for(i = 0; i < len; ++i){
+            selected[i].collapse();
+        }
+    },
+
+    onContainerClick: function() {
+        if(!this.view.dragging && this.deselectOnContainerClick) {
+            this.deselectAll();
+        }
+    }
+} );
+
diff --git a/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/Ochart.css b/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/Ochart.css
new file mode 100644
index 0000000..865e72a
--- /dev/null
+++ b/solar/project_modules_sitools2v3/Module_DatasetExplorerOchart_sitools2v3/Ochart.css
@@ -0,0 +1,198 @@
+/*Shuo DatasetExplorer Ochart*/
+
+.over-item-cls {
+    background-color: #ffedb3;
+    border-color: red !important;
+}
+.task-item {
+    border-color: green;
+    padding: 0;
+    text-align: left;
+}
+.task-item .item-title {
+    padding: 5px;
+    text-align: center;
+    font-weight: bold;
+}
+.task-item .item-title-rootnode {
+    font-size: 25px;
+}
+.task-item .item-title-node {
+    font-size: 15px;
+}
+.task-item .item-title-ds {
+    font-size: 11px;
+}
+
+.task-item > .item-body {
+    padding: 5px;
+}
+.task-item .item-img {
+    box-shadow: 0 0 3px 1px rgb(215, 215, 215);
+    height: 80px;
+    background-color: white;
+}
+.task-item .item-nb{
+    color: #999
+}
+.task-item {
+    box-shadow: 5px 5px 4px #888888;
+    border: none;
+}
+.task-item .item-icon{
+    background:url("/sitools/common/res/images/icons/tree_datasets_32.png") no-repeat center;
+    height:32px;
+}
+.x-ochart * {
+    background-attachment: scroll;
+    background-color: transparent;
+    background-image: none;
+    background-position: 0 0;
+    background-repeat: repeat-y;
+    border-collapse: collapse !important;
+    border-spacing: 0 !important;
+    box-sizing: content-box !important;
+    margin: 0;
+    padding: 0;
+}
+.x-ochart {
+    -moz-user-select: none;
+    text-align: center;
+}
+.x-ochart-wrap {
+    border-collapse: collapse !important;
+    border-spacing: 0 !important;
+    margin-top: 20px;
+    margin-left: auto;
+    margin-right: auto;
+    padding-top: 2px;
+    white-space: nowrap;
+}
+.x-ochart-node {
+    vertical-align: top !important;
+}
+.x-ochart-expander-row {
+    display: none !important;
+    text-align: center !important;
+}
+.x-ochart-expander {
+    background: url("/sitools/upload/ochart/ochart-tree.png") no-repeat scroll center center rgba(0, 0, 0, 0);
+    cursor: pointer !important;
+    display: inline-block;
+    height: 16px;
+    margin-left: 4px;
+    margin-top: -2px !important;
+    width: 16px;
+}
+.x-ochart-add {
+    background: url("/sitools/upload/ochart/ochart-add.png") no-repeat scroll center center rgba(0, 0, 0, 0);
+    cursor: pointer !important;
+    display: inline-block;
+    height: 16px;
+    margin-left: 2px;
+    margin-top: -2px;
+    width: 16px;
+}
+.x-ochart-remove {
+    background: url("/sitools/upload/ochart/ochart-remove.png") no-repeat scroll center center rgba(0, 0, 0, 0);
+    cursor: pointer !important;
+    display: inline-block;
+    height: 16px;
+    margin-left: 4px;
+    margin-top: -2px;
+    width: 16px;
+}
+.x-ochart-node.x-item-collapsed > table > tbody > .x-ochart-lines.x-ochart-children-lines, .x-ochart-node.x-item-collapsed > table > tbody > .x-ochart-container {
+    display: none !important;
+}
+.x-ochart-node.x-item-collapsed > table > tbody > .x-ochart-expander-row {
+    display: table-row !important;
+}
+.x-ochart-node-row {
+    padding: 0;
+    vertical-align: top;
+}
+.x-ochart-node-row > td {
+    text-align: center;
+}
+.x-ochart-node-content {
+    background-color: #D8D8D8;
+    border: 0px solid #888888;
+    border-radius: 5px;
+    cursor: pointer;
+    display: inline-block !important;
+    margin-top: -3px !important;
+    min-width: 48px;
+    padding: 0px;
+}
+.x-ochart-container {
+    vertical-align: top !important;
+}
+.x-ochart-left {
+    border-style: solid;
+    border-width: 0;
+    display: inline-block !important;
+    margin-top: -2px;
+    margin-bottom: 2px;
+    width: 50% !important;
+}
+.x-ochart-right {
+    border-style: solid;
+    border-width: 0;
+    display: inline-block !important;
+    margin-top: -2px;
+    margin-bottom: 2px;
+    width: 50% !important;
+}
+.x-ochart-lines.x-ochart-down .x-ochart-left, .x-ochart-lines.x-ochart-down .x-ochart-right {
+    border-top: 0 none;
+    margin-bottom: 2px;
+    margin-top: 0;
+}
+.x-ochart-lines > .x-ochart-first > .x-ochart-left {
+    border: 0 none;
+}
+.x-ochart-lines > .x-ochart-first > .x-ochart-right {
+    border-radius: 5px 0 0;
+}
+.x-ochart-lines > .x-ochart-last > .x-ochart-right {
+    border: 0 none;
+}
+.x-ochart-lines > .x-ochart-last > .x-ochart-left {
+    border-radius: 0 5px 0 0;
+    border-right: 2px solid black;
+}
+.x-ochart-node .x-item-selected {
+    !background-color: #b0eeff;
+}
+.x-ochart-ddindicator {
+    background: url("/sitools/upload/ochart/ochart-arrows.png") no-repeat scroll 0 0 transparent;
+    height: 16px;
+    width: 16px;
+}
+.x-ochart-ddindicator.before {
+    background-position: -48px center;
+}
+.x-ochart-ddindicator.after {
+    background-position: -16px center;
+}
+.x-ochart-ddindicator.append {
+    background-position: -32px center;
+}
+.x-ochart-over-node {
+    background-color: #ffedb3;
+    border-color: red !important;
+}
+.x-tip {
+    width: auto !important;
+}
+.x-tip-body {
+    width: auto !important;
+}
+.x-tip-body span {
+    width: auto !important;
+}
+
+
+
+/************************************/
diff --git a/solar/project_moduls_sitools2/Module_DatasetExplorerOchart_sitools2/ExtJSOrgChart.css b/solar/project_moduls_sitools2/Module_DatasetExplorerOchart_sitools2/ExtJSOrgChart.css
new file mode 100644
index 0000000..676f71a
--- /dev/null
+++ b/solar/project_moduls_sitools2/Module_DatasetExplorerOchart_sitools2/ExtJSOrgChart.css
@@ -0,0 +1,79 @@
+/* Basic styling */
+/* Draw the lines */
+.ExtJSOrgChart tr,td,table{
+  border:none;
+}
+.ExtJSOrgChart .line {
+  height                : 20px;
+  width                 : 2px;
+}
+
+.ExtJSOrgChart .down {
+  background-color 		: gray;	
+  margin 				: 0px auto;
+}
+
+.ExtJSOrgChart .top {
+  border-top          : 2px solid gray;
+}
+
+.ExtJSOrgChart .left {
+  border-right          : 1px solid gray;
+}
+
+.ExtJSOrgChart .right {
+  border-left           : 1px solid gray;
+}
+
+/* node cell */
+.ExtJSOrgChart td {
+  text-align            : center;
+  vertical-align        : top;
+  padding               : 0;
+}
+
+/* The node */
+.ExtJSOrgChart .node {
+  background-color 		: #D8D8D8;
+  box-shadow: 5px 5px 4px #888888;
+  display               : inline-block;
+  padding				: 5px 5px 5px 5px;
+  width                 : auto;
+  height                : auto;
+  z-index 				: 10;
+  margin               : 0 2px;
+  margin-left: 4px;
+  margin-right: 4px;
+}
+.ExtJSOrgChart .notdataset {
+  padding				: 8px 8px 8px 8px;
+  font-size: 15px;
+  font-weight: bold;
+  min-width: 144px;
+}
+.ExtJSOrgChart .notdatasettop {
+  padding				: 8px 8px 8px 8px;
+  font-size:25px;
+  font-weight: bold;
+}
+.ExtJSOrgChart .leaf {
+	height: 186px;
+	border-radius: 8px;
+	min-width: 80px;
+	font-size: 11px;
+	font-weight: bold;
+}
+.ExtJSOrgChart .pictitle{
+	height:100px;
+}
+
+/* jQuery drag 'n drop */
+
+.drag-active {
+  border-style			: dotted !important;
+}
+
+.drop-hover {
+  border-style			: solid !important;
+  border-color 			: #E05E00 !important;
+}
diff --git a/solar/project_moduls_sitools2/Module_DatasetExplorerOchart_sitools2/ExtJSOrgChart.js b/solar/project_moduls_sitools2/Module_DatasetExplorerOchart_sitools2/ExtJSOrgChart.js
new file mode 100644
index 0000000..2143bbf
--- /dev/null
+++ b/solar/project_moduls_sitools2/Module_DatasetExplorerOchart_sitools2/ExtJSOrgChart.js
@@ -0,0 +1,225 @@
+/**
+ * Converted into Ext JS by : Shariq Shaikh
+ *
+ * http://twitter.com/shaikhmshariq
+ * Adopted from jQuery org-chart/tree plugin (https://github.com/wesnolte/ExtJSOrgChart).
+ *
+ * Author: Wes Nolte
+ * http://twitter.com/wesnolte 
+ *
+ * Based on the work of Mark Lee
+ * http://www.capricasoftware.co.uk 
+ *
+ * Copyright (c) 2011 Wesley Nolte
+ * Dual licensed under the MIT and GPL licenses.
+ *
+ */
+Ext.namespace('sitools.user.modules.ExtJSOrgChart');
+//structure to hold node details 
+sitools.user.modules.ExtJSOrgChart.createNode = function (node){
+	//this.parentId=parentId;
+	//this.id=id;
+	this.text=node.text;
+	this.id=node.datasetId;
+	this.type=node.type;
+	this.url=node.url;
+	this.Nb=node.nbRecord;
+	this.description=node.description;
+	if (!Ext.isEmpty(node.imageDs)) {
+		this.image=node.imageDs;
+	} else if (!Ext.isEmpty(node.image)){
+		this.image=node.image.url;
+	} else {
+		this.image=SITOOLS_DEFAULT_PROJECT_IMAGE_URL;
+	}
+	this.child= new Array();
+	this.getImage=getImage;
+	function getImage(){
+		return this.image;
+	}
+	this.getText=getText;
+	function getText(){
+		return this.text;
+	}
+	this.getUrl=getUrl;
+	function getUrl(){
+		return this.url;
+	}
+	this.getID=getID;
+	function getID(){
+		return this.id;
+	}
+	this.getType=getType;
+	function getType(){
+		return this.type;
+	}
+	this.getNb=getNb;
+	function getNb(){
+		return this.Nb;
+	}
+	this.getDes=getDes;
+	function getDes(){
+		return this.description;
+	}
+	this.getChildNodes=getChildNodes;
+	function getChildNodes(){
+		return this.child;
+	}
+	this.hasChildNodes=hasChildNodes;
+	function hasChildNodes(){
+		return this.child.length > 0;
+	}
+	this.addChild=addChild;
+	function addChild(childElem){
+		this.child.push(childElem);
+		return this;
+	}
+	this.setChildNodes=setChildNodes;
+	function setChildNodes(child){
+		this.child=child;
+	}
+}
+sitools.user.modules.ExtJSOrgChart.opts=null;
+sitools.user.modules.ExtJSOrgChart.buildNode= function (node, appendTo, level, opts) {
+	//sitools.user.modules.ExtJSOrgChart.opts=opts;
+	//console.log(sitools.user.modules.ExtJSOrgChart.opts);
+    var tableObj = Ext.DomHelper.append(appendTo, "<table cellpadding='0' cellspacing='0' border='1'/>");
+    var tbodyObj = Ext.DomHelper.append(tableObj, "<tbody/>");
+
+    // Construct the node container(s)
+    var nodeRow = Ext.get(Ext.DomHelper.append(tbodyObj, "<tr/>")).addClass("node-cells");
+    var nodeCell = Ext.get(Ext.DomHelper.append(nodeRow, "<td colspan='2' />")).addClass("node-cell");
+	
+    var childNodes = node.getChildNodes();
+    var nodeDiv;
+    var showStr="";
+    if (childNodes.length > 1) {
+        nodeCell.dom.setAttribute('colspan', childNodes.length * 2);
+    }
+    // Draw the node
+    if(node.getType()=='node'&&level == 0){
+    	var nodeContent='<div class="notdatasettop">'+node.getText()+'</div>';
+    }else if(node.getType()=='node'&&level >= 1){
+	if(node.getImage()&&node.getText().indexOf("Download")!=-1){
+		var nodeContent='<img class="level1img" src="'+node.getImage()+'"/>';
+        	nodeContent+='<div class="notdataset">'+node.getText()+'</div>';	
+	}else{
+		var nodeContent = '<div class="notdataset">'+node.getText()+'</div>';
+	}
+    }else{
+    	//alert(node.getID());
+    	var nodeContent=
+    	/*	'<li id="'+node.getID()+'">'+
+            '<strong>'+node.getText()+'</strong>'+
+            '<span>'+node.getNb()+'</span><br/>'+     
+            '<div class="dataset_services">'+
+            "<a href='#' onClick='sitools.user.clickDatasetIcone(\"" + node.getUrl()
+                + "\", \"data\"); return false;'><img src='" + loadUrl.get('APP_URL')
+                + "/common/res/images/icons/32x32/tree_datasets_32.png'></a>"+
+               
+            '</div>'+
+            '<div class="dataset_description">'+node.getDes()+'</div>'+
+        '</li>';*/
+    	"<div class='leaf'>"
+    	+"<div class='pictitle'>"	
+    	+"<img class='datasetimg' onClick='sitools.user.clickDatasetIcone(\"" + node.getUrl()
+    	        + "\", \"data\"); return false;' width='80' height='80' src='"+node.getImage()+"' />"
+        +'<div class="datasettitle">'+node.getText().split(' -')[2]+'</div>'
+        +"</div>"
+        +"<br/><a href='#' onClick='sitools.user.clickDatasetIcone(\"" + node.getUrl()
+        + "\", \"data\"); return false;'><img src='" + loadUrl.get('APP_URL')
+        + "/common/res/images/icons/32x32/tree_datasets_32.png'></a>"
+        +'<br/><span class="nbrecords">('+node.getNb()+' records)</span><br/>'
+        /*+"<a href='#' onClick='return SitoolsDesk.navProfile.manageDatasetViewAlbumIconForm(\"" + node.getUrl() + "\");'>query form</a>"*/
+        +"<br/><a  href='#' class='align-right' ext:qtip='Description' onClick='sitools.user.clickDatasetIcone(\"" + node.getUrl()
+        + "\", \"desc\"); return false;'>Description</a>"
+        +"</div>";
+    }
+    if(childNodes.length>0){
+    //	nodeContent += "<div class='img_detail' onClick='sitools.user.modules.ExtJSOrgChart.ss(childNodes,\"\",0,opts,tbodyObj)'></div>";
+    }
+    
+    nodeDiv = Ext.get(Ext.DomHelper.append(nodeCell,"<div>")).addClass("node");
+	
+    nodeDiv.dom.innerHTML=nodeContent;
+    if (childNodes.length > 0) {
+        // recurse until leaves found (-1) or to the level specified
+        if (opts.depth == -1 || (level + 1 < opts.depth)) {
+            var downLineRow = Ext.DomHelper.append(tbodyObj,"<tr class='"+showStr+"' />");
+            var downLineCell = Ext.DomHelper.append(downLineRow,"<td/>");
+			downLineCell.setAttribute('colspan',childNodes.length * 2);
+            // draw the connecting line from the parent node to the horizontal line 
+            downLine = Ext.get(Ext.DomHelper.append(downLineCell,"<div></div>")).addClass("line down");
+	
+			// Draw the horizontal lines
+            var linesRow = Ext.DomHelper.append(tbodyObj,"<tr class='"+showStr+"' />");
+            Ext.each(childNodes,function (item,index) {
+                var left = Ext.get(Ext.DomHelper.append(linesRow,"<td>&nbsp;</td>")).addClass("line left top");
+                var right = Ext.get(Ext.DomHelper.append(linesRow,"<td>&nbsp;</td>")).addClass("line right top");
+            });
+
+            // horizontal line shouldn't extend beyond the first and last child branches
+            Ext.select("td:first",false,linesRow).removeClass("top");
+            Ext.select("td:last",false,linesRow).removeClass("top");
+                
+
+            var childNodesRow = Ext.DomHelper.append(tbodyObj,"<tr class='"+showStr+"' />");
+            Ext.each(childNodes,function (item,index) {
+                var td = Ext.DomHelper.append(childNodesRow,"<td class='node-container'/>");
+				td.setAttribute('colspan',2);
+                // recurse through children lists and items
+				sitools.user.modules.ExtJSOrgChart.buildNode(item, td, level + 1, opts);
+            });
+
+        }
+    }
+
+
+    /* Prevent trees collapsing if a link inside a node is clicked */
+    Ext.each(Ext.select('a',true,nodeDiv.dom),function(item,index){
+		item.onClick= function(e){
+			console.log(e);
+			e.stopPropagation();
+		}
+	});
+}
+sitools.user.modules.ExtJSOrgChart.ss= function(childNodes,showStr,level,opts,tbodyObj){
+    if (childNodes.length > 0) {
+        // recurse until leaves found (-1) or to the level specified
+        if (opts.depth == -1 || (level + 1 < opts.depth)) {
+            var downLineRow = Ext.DomHelper.append(tbodyObj,"<tr class='"+showStr+"' />");
+            var downLineCell = Ext.DomHelper.append(downLineRow,"<td/>");
+                        downLineCell.setAttribute('colspan',childNodes.length * 2);
+            // draw the connecting line from the parent node to the horizontal line
+            downLine = Ext.get(Ext.DomHelper.append(downLineCell,"<div></div>")).addClass("line down");
+
+                        // Draw the horizontal lines
+            var linesRow = Ext.DomHelper.append(tbodyObj,"<tr class='"+showStr+"' />");
+            Ext.each(childNodes,function (item,index) {
+                var left = Ext.get(Ext.DomHelper.append(linesRow,"<td>&nbsp;</td>")).addClass("line left top");
+                var right = Ext.get(Ext.DomHelper.append(linesRow,"<td>&nbsp;</td>")).addClass("line right top");
+            });
+
+            // horizontal line shouldn't extend beyond the first and last child branches
+            Ext.select("td:first",false,linesRow).removeClass("top");
+            Ext.select("td:last",false,linesRow).removeClass("top");
+
+
+            var childNodesRow = Ext.DomHelper.append(tbodyObj,"<tr class='"+showStr+"' />");
+            Ext.each(childNodes,function (item,index) {
+                var td = Ext.DomHelper.append(childNodesRow,"<td class='node-container'/>");
+                                td.setAttribute('colspan',2);
+                // recurse through children lists and items
+                                sitools.user.modules.ExtJSOrgChart.buildNode(item, td, level + 1, opts);
+            });
+
+        }
+    }
+
+}
+sitools.user.modules.ExtJSOrgChart.prepareTree= function(options){
+	var appendTo = Ext.get(options.chartElement);
+	var container = Ext.get(Ext.DomHelper.append(appendTo,'<div align="center" class="ExtJSOrgChart"></div>'));
+	sitools.user.modules.ExtJSOrgChart.buildNode(options.rootObject,container,0,options);
+}
+Ext.QuickTips.init();
diff --git a/solar/project_moduls_sitools2/Module_DatasetExplorerOchart_sitools2/bootstrap.min.css b/solar/project_moduls_sitools2/Module_DatasetExplorerOchart_sitools2/bootstrap.min.css
new file mode 100644
index 0000000..677000e
--- /dev/null
+++ b/solar/project_moduls_sitools2/Module_DatasetExplorerOchart_sitools2/bootstrap.min.css
@@ -0,0 +1,7 @@
+
+table,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;font-weight:normal;font-style:normal;font-size:100%;font-family:inherit;}
+
+
+code,pre{padding:0 3px 2px;font-size:12px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+
+pre{background-color:#f5f5f5;display:block;padding:8.5px;margin:0 0 18px;line-height:18px;font-size:12px;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:pre;white-space:pre-wrap;word-wrap:break-word;}
diff --git a/solar/project_moduls_sitools2/Module_DatasetExplorerOchart_sitools2/close-white.png b/solar/project_moduls_sitools2/Module_DatasetExplorerOchart_sitools2/close-white.png
new file mode 100644
index 0000000..13b0354
Binary files /dev/null and b/solar/project_moduls_sitools2/Module_DatasetExplorerOchart_sitools2/close-white.png differ
diff --git a/solar/project_moduls_sitools2/Module_DatasetExplorerOchart_sitools2/custom.css b/solar/project_moduls_sitools2/Module_DatasetExplorerOchart_sitools2/custom.css
new file mode 100644
index 0000000..bf58d86
--- /dev/null
+++ b/solar/project_moduls_sitools2/Module_DatasetExplorerOchart_sitools2/custom.css
@@ -0,0 +1,86 @@
+
+
+
+
+
+	
+
+
+
+
+
+/* list stuff */
+#org{
+	background-color 	: white;
+	margin 				: 10px;
+	padding 			: 10px;
+}
+
+#show-list{
+	cursor 				: pointer;
+}
+
+/* bootstrap overrides */
+.alert-message{
+	margin: 2px 0;
+}
+
+.topbar{
+	position 			: absolute;
+}
+
+/* Custom chart styling */
+.ExtJSOrgChart {
+  margin                : 10px;
+  padding               : 20px;
+}
+
+/* Custom node styling */
+.ExtJSOrgChart .node {
+	font-size 			: 11x;
+	text-align			: center;
+	#vertical-align		: middle;
+	#line-height			: 50px;
+	background-color 	: #35363B;
+	border-radius 		: 8px;
+	!border 				: 1px solid gray;
+	#color 				: #FFFF00;
+	
+	
+	-moz-border-radius 	: 8px;
+}
+	.node p{
+		font-family 	: tahoma;
+		font-size 		: 10px;
+		line-height 	: 11px;
+		padding 		: 2px;
+	}
+.datasetimg{
+	cursor 				: pointer;
+	
+}
+.level1img{
+	height:60px;
+	border-radius : 50%;
+}
+.ExtJSOrgChart .leaf:hover{
+	background-color: #FFE0AE;
+	transition: background-color 800ms ease 0s;
+}
+.hide {
+    display: none;
+}
+.img_detail{
+    background: url("zoom.png") repeat scroll 0 0 / 28px 28px rgba(0, 0, 0, 0);
+    height: 28px;
+    width: 28px;
+    cursor: pointer;
+}
+.nbrecords{
+    font-size: 10px;
+    color: #444;
+    font-weight: normal;
+}
+.datasettitle{
+    margin-top: 5px;
+}	
diff --git a/solar/project_moduls_sitools2/Module_DatasetExplorerOchart_sitools2/dataSetExplorerDataViewOchart.js b/solar/project_moduls_sitools2/Module_DatasetExplorerOchart_sitools2/dataSetExplorerDataViewOchart.js
new file mode 100644
index 0000000..e6de095
--- /dev/null
+++ b/solar/project_moduls_sitools2/Module_DatasetExplorerOchart_sitools2/dataSetExplorerDataViewOchart.js
@@ -0,0 +1,112 @@
+/***************************************
+* Copyright 2010-2013 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
+* 
+* This file is part of SITools2.
+* 
+* SITools2 is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+* 
+* SITools2 is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+* 
+* You should have received a copy of the GNU General Public License
+* along with SITools2.  If not, see <http://www.gnu.org/licenses/>.
+***************************************/
+/*global Ext, sitools, projectGlobal, commonTreeUtils, showResponse, document, i18n, loadUrl, SITOOLS_DEFAULT_PROJECT_IMAGE_URL, SitoolsDesk*/
+/*
+ * @include "../../env.js" 
+ */
+Ext.namespace('sitools.user.modules');
+
+/**
+ * Dataset Explorer Module.
+ * Displays each dataset of the Project.
+ * @class sitools.user.modules.datasetExplorerDataView
+ * @extends Ext.tree.TreePanel
+ */
+sitools.user.modules.dataSetExplorerDataviewOchart = Ext.extend(Ext.Panel, {
+    layout : "border",
+        
+    initComponent : function () {
+	    /**
+	     * INDEX JPB var projectId = Ext.util.Cookies.get('projectId'); if
+	     * (Ext.isEmpty(projectId)){ Ext.Msg.alert(i18n.get ('warning.noProject'));
+	     * return; }
+	     */
+
+         //me.chartConfig = me.chartConfig || {};
+    	 //console.log(me.store);
+    	var myDataView = new Ext.DataView({
+    		id : "chart",
+            region : 'center',
+            singleSelect : true,
+            autoScroll : true,
+	    });
+    	this.items = [myDataView];
+    	var projectAttachment = projectGlobal.sitoolsAttachementForUsers;
+    	//alert(projectAttachment);
+    	Ext.Ajax.request( {
+    		url : projectAttachment + '/graph?media=json',
+			//url: 'http://localhost:8182/sitools/client-user/js/modules/dataSetExplorerDataView/ochart/response_sitemap.json',
+    		method : "GET",
+    		//root : 'graph.nodeList',
+		success : function(response, opts) {
+			function getChild(n,node) {
+   				//nodeList.push(node);
+                                //rootNodeList.push(node);
+				if(!n.leaf){
+					for(var i=0;i<n.children.length;i++){
+						var child=new sitools.user.modules.ExtJSOrgChart.createNode(n.children[i]);
+						node.addChild(child);
+						getChild(n.children[i],child);
+					}	
+				}
+			}
+			var rootNodeList=new Array();
+			//var nodeList = new Array();
+			var data= Ext.decode(response.responseText);
+			for(var n=0;n<data.graph.nodeList.length;n++){
+				var rootNode = new sitools.user.modules.ExtJSOrgChart.createNode(data.graph.nodeList[n]);
+                                //nodeList.push(rootNode);
+                                rootNodeList.push(rootNode);
+				getChild(data.graph.nodeList[n],rootNode);
+			}
+			for(var i=0;i<rootNodeList.length;i++){
+				sitools.user.modules.ExtJSOrgChart.prepareTree({
+					chartElement: 'chart',
+					rootObject: rootNodeList[i],
+					depth: -1
+					});
+			}
+		} , 
+		failure : function(response, opts) {          
+				alert("Error while loading data : "+response.responseText);                  
+		}
+	});	
+        
+        sitools.user.modules.dataSetExplorerDataviewOchart.superclass.initComponent.call(this);
+        
+    },
+    afterRender : function () {
+    	sitools.user.modules.dataSetExplorerDataviewOchart.superclass.afterRender.apply(this, arguments);
+       	console.log(this);
+    },
+    /**
+     * method called when trying to save preference
+     * @returns
+     */
+    _getSettings : function () {
+		return {
+            preferencesPath : "/modules", 
+            preferencesFileName : this.id
+        };
+
+    }
+    
+});
+
+Ext.reg('sitools.user.modules.dataSetExplorerDataviewOchart', sitools.user.modules.dataSetExplorerDataviewOchart);
diff --git a/solar/project_moduls_sitools2/Module_DatasetExplorerOchart_sitools2/zoom.png b/solar/project_moduls_sitools2/Module_DatasetExplorerOchart_sitools2/zoom.png
new file mode 100644
index 0000000..05f379e
Binary files /dev/null and b/solar/project_moduls_sitools2/Module_DatasetExplorerOchart_sitools2/zoom.png differ
diff --git a/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/01082932-d2012e4c8e3b4bb096ce5acfd7a65343.png b/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/01082932-d2012e4c8e3b4bb096ce5acfd7a65343.png
new file mode 100644
index 0000000..7905a73
Binary files /dev/null and b/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/01082932-d2012e4c8e3b4bb096ce5acfd7a65343.png differ
diff --git a/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/01082933-1be1e966854e4a4882f3acf477a614d0.png b/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/01082933-1be1e966854e4a4882f3acf477a614d0.png
new file mode 100644
index 0000000..0de2887
Binary files /dev/null and b/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/01082933-1be1e966854e4a4882f3acf477a614d0.png differ
diff --git a/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/01082933-82252b55ed5548c4b9bdd107903d1e8a.png b/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/01082933-82252b55ed5548c4b9bdd107903d1e8a.png
new file mode 100644
index 0000000..d73d47c
Binary files /dev/null and b/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/01082933-82252b55ed5548c4b9bdd107903d1e8a.png differ
diff --git a/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/WeekTimeline.js b/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/WeekTimeline.js
new file mode 100644
index 0000000..9b7c4bd
--- /dev/null
+++ b/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/WeekTimeline.js
@@ -0,0 +1,198 @@
+Ext.namespace('sitools.user.modules.weekTimeline');
+sitools.user.modules.weekTimeline.createWeek= function (list){
+	var date=new Date(list[0].date);
+	switch(list[0].day){
+		case "Monday":
+			this.firstday=list[0].daynum;
+			this.firstdate=date;
+	        break;
+	    case "Tuesday":
+	    	this.firstday=list[0].daynum-1.0;
+	    	this.firstdate=new Date(date-24*60*60*1000);
+	        break;
+	    case "Wednesday":
+	    	this.firstday=list[0].daynum-2.0;
+	    	this.firstdate=new Date(date-2*24*60*60*1000);
+	        break;
+	    case "Thursday":
+	    	this.firstday=list[0].daynum-3.0;
+	    	this.firstdate=new Date(date-3*24*60*60*1000);
+	        break;
+	    case "Friday":
+	    	this.firstday=list[0].daynum-4.0;
+	    	this.firstdate=new Date(date-4*24*60*60*1000);
+	        break;
+	    case "Saturday":
+	    	this.firstday=list[0].daynum-5.0;
+	    	this.firstdate=new Date(date-5*24*60*60*1000);
+	        break;
+	    case "Sunday":
+	    	this.firstday=list[0].daynum-6.0;
+	    	this.firstdate=new Date(date-6*24*60*60*1000);
+	        break;
+	}
+	this.lastday=this.firstday+6.0;
+	this.lastdate=new Date();
+	this.lastdate.setFullYear(this.firstdate.getFullYear());
+	this.lastdate.setMonth(this.firstdate.getMonth());
+	this.lastdate.setDate(this.firstdate.getDate()+6);
+	this.text="";
+	this.activities=new Array();
+	for(var i=0;i<list.length;i++){
+		this.activities.push(new sitools.user.modules.timeline.createActivity(list[i]));
+		if(i==0){
+			this.text=this.text+list[i].text+"<br/>";
+		}else{
+			if(list[i].text!=list[i-1].text){
+				this.text=this.text+list[i].text+"<br/>";
+			}
+		}
+		
+	}
+	this.getFirstday=getFirstday;
+	function getFirstday(){
+		return this.firstday;
+	}
+	this.getLastday=getLastday;
+	function getLastday(){
+		return this.lastday;
+	}
+	this.getFirstdate=getFirstdate;
+	function getFirstdate(){
+		return this.firstdate;
+	}
+	this.getLastdate=getLastdate;
+	function getLastdate(){
+		return this.lastdate;
+	}
+	this.getText=getText;
+	function getText(){
+		return this.text;
+	}
+	this.getActivities=getActivities;
+	function getActivities(){
+		return this.activities;
+	}
+}
+sitools.user.modules.weekTimeline.prepareWeekTimeline= function (s,list){
+	var appendTo = Ext.get(s);
+	var container = Ext.get(Ext.DomHelper.append(appendTo,'<div id="timeline" align="center" class="timeline"></div>'));
+	container=Ext.get(Ext.DomHelper.append(container,"<ul id='lineul' class='timeline'/>"));
+	sitools.user.modules.weekTimeline.showActivity(list,container);
+}
+sitools.user.modules.weekTimeline.addWeekTimeline=function (list){
+	var container = Ext.get('lineul');
+	sitools.user.modules.weekTimeline.showActivity(list,container);
+}
+sitools.user.modules.weekTimeline.showActivity= function (weekList, ulObj){
+	var count=0;
+	for(var i=0; i<weekList.length;i++){
+		if(count%2!=1){
+			var liObj = Ext.DomHelper.append(ulObj, "<li/>");
+		}else{
+			var liObj = Ext.DomHelper.append(ulObj, "<li class='alt'/>");
+		}
+		var monday=weekList[i].getFirstdate().toDateString().split(" ");
+		var sunday=weekList[i].getLastdate().toDateString().split(" ");
+		Ext.DomHelper.append(liObj, 
+				"<div class='monday'>"+monday[1]+" "+monday[2]+" "+monday[3]+" -</div>"
+				+"<div class='sunday'>- "+sunday[1]+" "+sunday[2]+" "+sunday[3]+"</div>"
+				+"<div class='weeknumber'><strong>W "+(weekList[i].getFirstday()-40343.0)/7+"</strong></div>"
+				);
+		var contentObj=Ext.DomHelper.append(liObj,"<div class='preview' />");
+		var activities=weekList[i].getActivities();
+		var preObj=Ext.DomHelper.append(contentObj,"<pre class='nodata' onclick='sitools.user.modules.weekTimeline.viewDetail(this.parentNode);' style='height:200px;'></pre>");
+		var preObj=Ext.DomHelper.append(preObj,"<div class='activity_name'></div>");
+		for(var j=0;j<activities.length;j++){
+			if(j==0){
+				if(activities[j].haveData()){
+					Ext.DomHelper.append(preObj,"<div style='color:#F7FE2E'>"+activities[j].getText()+"</div>");
+				}else{
+					Ext.DomHelper.append(preObj,"<div>"+activities[j].getText()+"</div>");
+				}
+			}else{
+				if(activities[j].getText()!=activities[j-1].getText()){
+					if(activities[j].haveData()){
+						Ext.DomHelper.append(preObj,"<div style='color:#F7FE2E'>"+activities[j].getText()+"</div>");
+					}else{
+						Ext.DomHelper.append(preObj,"<div>"+activities[j].getText()+"</div>");
+					}
+				}
+			}
+		}
+		Ext.DomHelper.append(contentObj,"<div class='detail_button' onclick='sitools.user.modules.weekTimeline.viewDetail(this.parentNode);'><div class='img_detail'></div></div>");
+		var detailObj=Ext.DomHelper.append(liObj,"<div class='detail' style='display:none;' />");
+		var detailUlObj=Ext.get(Ext.DomHelper.append(detailObj,"<ul class='timeline' />"));
+		 var ruler1="<div class='ruler ruler1'>00:00:00</div>";
+                 var ruler2="<div class='ruler ruler2'>06:00:00</div>";
+                 var ruler3="<div class='ruler ruler3'>12:00:00</div>";
+                 var ruler4="<div class='ruler ruler4'>18:00:00</div>";
+                 var ruler5="<div class='ruler ruler5'>24:00:00</div>";
+		Ext.DomHelper.append(detailUlObj,ruler1);
+		Ext.DomHelper.append(detailUlObj,ruler2);
+		Ext.DomHelper.append(detailUlObj,ruler3);
+		Ext.DomHelper.append(detailUlObj,ruler4);
+		Ext.DomHelper.append(detailUlObj,ruler5);
+		sitools.user.modules.timeline.showActivity(weekList[i].getActivities(),detailUlObj);
+		Ext.DomHelper.append(detailObj,"<div class='close_button' onclick='sitools.user.modules.weekTimeline.backtoweek(this.parentNode);'><div class='img_close'></div></div>");
+		
+		count++;
+		
+	}
+}
+
+sitools.user.modules.weekTimeline.back=function(o){
+	o.parentNode.parentNode.scrollIntoView();
+	
+}
+
+sitools.user.modules.weekTimeline.viewDetail=function(o){
+	//Ext.get(o).hide();
+	o.style.display="none";
+	//o.nextSibling.style.display="block";
+	Ext.get(o.nextSibling).slideIn('t', {duration: 0.5 });
+	
+}
+sitools.user.modules.weekTimeline.backtoweek=function(o){
+	//Ext.get(o).slideOut('t',{duration: 0.5});
+	o.style.display="none";	
+	//o.previousSibling.style.display="block";
+	Ext.get(o.previousSibling).slideIn('t', {duration: 0.3 });
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/close-white.png b/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/close-white.png
new file mode 100644
index 0000000..13b0354
Binary files /dev/null and b/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/close-white.png differ
diff --git a/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/projectTimeline.js b/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/projectTimeline.js
new file mode 100644
index 0000000..de9af23
--- /dev/null
+++ b/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/projectTimeline.js
@@ -0,0 +1,286 @@
+/***************************************
+* Copyright 2010-2013 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
+* 
+* This file is part of SITools2.
+* 
+* SITools2 is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+* 
+* SITools2 is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+* 
+* You should have received a copy of the GNU General Public License
+* along with SITools2.  If not, see <http://www.gnu.org/licenses/>.
+***************************************/
+/*global Ext, sitools, projectGlobal, commonTreeUtils, showResponse, document, i18n, loadUrl, SITOOLS_DEFAULT_PROJECT_IMAGE_URL, SitoolsDesk*/
+/*
+ * @include "../../env.js" 
+ */
+Ext.namespace('sitools.user.modules');
+
+/**
+ * Dataset Explorer Module.
+ * Displays each dataset of the Project.
+ * @class sitools.user.modules.datasetExplorerDataView
+ * @extends Ext.tree.TreePanel
+ */
+sitools.user.modules.projectTimeline = Ext.extend(Ext.Panel, {
+	layout : "border",
+	
+	initComponent : function () {
+		
+		var myDataView = new Ext.DataView({
+    		id : "line",
+            region : 'center',
+            singleSelect : true,
+            autoScroll : true,
+	    });
+    	this.items = [myDataView];
+    	var projectAttachment = projectGlobal.sitoolsAttachementForUsers;
+    	Ext.Ajax.request( {
+    		//url : '../js/modules/projectTimeline/timeline_picard.json',
+    		url: "/sitools/upload/timeline_picard.json",
+		method : "GET",
+			success : function(response, opts) {
+				var activityList = new Array();
+				var weekList=new Array();
+				var data= Ext.decode(response.responseText);
+				var i=0;
+				var nb=15;
+				var nbweek=30;
+				var selecteddata=null;
+				var actdata=null;
+				Ext.DomHelper.append(Ext.get('line'),"<div id='searchbox'/>");
+				Ext.DomHelper.append(Ext.get('searchbox'),"<div id='startbox'/>");
+				Ext.DomHelper.append(Ext.get('startbox')," From <input type='text' id='start' placeholder='first day: 2010/10/01'/> ");
+				Ext.DomHelper.append(Ext.get('searchbox'),"<div id='endbox'/>");
+				Ext.DomHelper.append(Ext.get('endbox')," To <input type='text' id='end' placeholder='last day: 2014/03/06'/> ");
+				Ext.DomHelper.append(Ext.get('searchbox')," <button id='search' type='button'> GO </button> ");
+				/*Ext.DomHelper.append(Ext.get('searchbox'),"<div id='data'/>");
+				Ext.DomHelper.append(Ext.get('data'),"<button id='all' >Show all the activities</button>");
+				Ext.DomHelper.append(Ext.get('data'),"<button id='withdata'>Show the activities with data</button>");
+				Ext.get('all').on("click", function () {
+						var start=document.getElementById('start').value;
+						var end=document.getElementById('end').value;
+						actdata=false;
+						select(start,end,actdata);
+			    });
+				Ext.get('withdata').on("click", function () {
+						var start=document.getElementById('start').value;
+						var end=document.getElementById('end').value;
+						actdata=true;
+						select(start,end,actdata);
+			    });*/
+				Ext.get('search').on("click", function () {
+					var start=document.getElementById('start').value;
+					var end=document.getElementById('end').value;
+					select(start,end);
+			    });
+				i=getweeks(i,nbweek);
+				//console.log(weekList);
+				sitools.user.modules.weekTimeline.prepareWeekTimeline('line',weekList);
+				weekList=new Array();
+				var appendTo = Ext.get('timeline');
+				Ext.get(Ext.DomHelper.append(appendTo,"<button id='more' type='button'> more </button>"));
+				var more=Ext.get('more');
+				more.on("click", function () {
+					if(selecteddata==null){
+						i=getweeks(i,nbweek);
+						sitools.user.modules.weekTimeline.addWeekTimeline(weekList);
+						weekList=new Array();
+					}
+					else {
+						i=getweeks(i,nbweek,selecteddata);
+						sitools.user.modules.weekTimeline.addWeekTimeline(weekList);
+						weekList=new Array();
+					}
+			    });
+				function getweeks(i,nbweek){
+					var selected=arguments[2]?arguments[2]:data.timeline;
+					var actdata=arguments[3]?arguments[3]:false;
+					var count=0;
+					var list=new Array();
+					var monday=0.0;
+					while(selected[i]){
+						if(count==nbweek){
+							return i;
+						}
+						else{
+							if(list.length==0){
+								monday=getMonday(selected[i]);
+							}
+							while(selected[i]&&selected[i].daynum-monday<7.0){
+								list.push(selected[i]);
+								i++;
+							}
+							//console.log(list);
+							var week=new sitools.user.modules.weekTimeline.createWeek(list);
+							list=new Array();
+							weekList.push(week);
+							if(selected[i]){
+								monday=getMonday(selected[i]);
+							}
+							count++;
+						}
+					}
+				}
+				function getMonday(day){
+					var monday=0.0;
+					
+					switch(day.day){
+					case "Monday":
+				        monday=day.daynum;
+				        break;
+				    case "Tuesday":
+				    	monday=day.daynum-1.0;
+				        break;
+				    case "Wednesday":
+				    	monday=day.daynum-2.0;
+				        break;
+				    case "Thursday":
+				    	monday=day.daynum-3.0;
+				        break;
+				    case "Friday":
+				    	monday=day.daynum-4.0;
+				        break;
+				    case "Saturday":
+				    	monday=day.daynum-5.0;
+				        break;
+				    case "Sunday":
+				    	monday=day.daynum-6.0;
+				        break;
+					}
+					return monday;
+				}
+				function select(start,end){
+					var actdata=arguments[2]?arguments[2]:false;
+					var i=0;
+					activityList = new Array();
+					Ext.get('timeline').remove();
+					var selecteddata=selectdate(start,end);
+					i=getweeks(i,nbweek,selecteddata,actdata);
+					//console.log(weekList);
+					sitools.user.modules.weekTimeline.prepareWeekTimeline('line',weekList);
+					weekList=new Array();
+					var appendTo = Ext.get('timeline');
+					Ext.get(Ext.DomHelper.append(appendTo,"<button id='more' type='button'> more </button>"));
+					more=Ext.get('more');
+					more.on("click", function () {
+						if(selecteddata==null) {
+							i=getweeks(i,nbweek);
+						}
+						else {
+							if(actdata){
+								//i=getactivity(i,nb,selecteddata,actdata);
+								//sitools.user.modules.timeline.addTimeline(activityList);
+								//activityList = new Array();
+							}else{
+								i=getweeks(i,nbweek,selecteddata);
+								sitools.user.modules.weekTimeline.addWeekTimeline(weekList);
+								weekList=new Array();
+							}
+						}
+				    });
+				}
+				function checkDate(d){
+					var dateArray = d.split('/');
+					if(dateArray.length!=3) return false;
+					var date = new Date(parseInt(dateArray[0]),parseInt(dateArray[1]-1),parseInt(dateArray[2]));
+					if ( Object.prototype.toString.call(date) !== "[object Date]" )
+    						return false;
+  					else return true;	
+				}	
+				
+				function selectdate(startdate,enddate){
+					var start=null;
+					var end=null;
+					if(startdate==''&&enddate==''){
+						return data.timeline;
+					}
+					if(startdate==''){
+						start = 0;	
+					}else{
+						if(!checkDate(startdate)){
+							alert('Wrong date for date begin!');
+							return data.timeline;
+						}
+					}
+					if(enddate==''){
+						end = data.timeline.length-1;
+					}else{
+						if(!checkDate(enddate)){
+							alert('Wrong date for date end!');
+							return data.timeline;
+						}
+					}
+					for(var n=0;n<data.timeline.length;n++){
+						if(start!=null&&end!=null) {break;}
+						if(start==null){
+						if(data.timeline[n].date>=startdate){
+							if(n==0){
+								start=n;
+							}else{
+								if(data.timeline[n-1].date<startdate)
+									start=n;
+							}
+						}}
+						if(end==null){
+						if(data.timeline[n].date<=enddate){
+							if(n==data.timeline.length-1){
+								end=n;
+							}else{
+								if(data.timeline[n+1].date>enddate){
+									end=n;
+								}
+							}
+						}}
+					}
+					if(start==null||end==null){
+						alert('Wrong date!');
+						return data.timeline;
+					}
+					if(start>end){
+						alert('Wrong date!');
+						return data.timeline;
+					}
+					//console.log(data.timeline.slice(start,end+1));
+					return data.timeline.slice(start,end+1);
+					
+				}
+			} , 
+			failure : function(response, opts) {          
+				alert("Error while loading data : "+response.responseText);                  
+			}
+		});	
+    
+		sitools.user.modules.projectTimeline.superclass.initComponent.call(this);
+	},
+	
+    afterRender : function () {
+    	sitools.user.modules.projectTimeline.superclass.afterRender.apply(this, arguments);
+        
+    },
+    /**
+     * method called when trying to save preference
+     * @returns
+     */
+    _getSettings : function () {
+		return {
+            preferencesPath : "/modules", 
+            preferencesFileName : this.id
+        };
+
+    }
+    
+});
+Ext.reg('sitools.user.modules.projectTimeline', sitools.user.modules.projectTimeline);
+
+
+
+
+
+
diff --git a/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/projectTimeline_byday.js b/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/projectTimeline_byday.js
new file mode 100644
index 0000000..f5f52bc
--- /dev/null
+++ b/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/projectTimeline_byday.js
@@ -0,0 +1,231 @@
+/***************************************
+* Copyright 2010-2013 CNES - CENTRE NATIONAL d'ETUDES SPATIALES
+* 
+* This file is part of SITools2.
+* 
+* SITools2 is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+* 
+* SITools2 is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+* 
+* You should have received a copy of the GNU General Public License
+* along with SITools2.  If not, see <http://www.gnu.org/licenses/>.
+***************************************/
+/*global Ext, sitools, projectGlobal, commonTreeUtils, showResponse, document, i18n, loadUrl, SITOOLS_DEFAULT_PROJECT_IMAGE_URL, SitoolsDesk*/
+/*
+ * @include "../../env.js" 
+ */
+Ext.namespace('sitools.user.modules');
+
+/**
+ * Dataset Explorer Module.
+ * Displays each dataset of the Project.
+ * @class sitools.user.modules.datasetExplorerDataView
+ * @extends Ext.tree.TreePanel
+ */
+sitools.user.modules.projectTimeline_byday = Ext.extend(Ext.Panel, {
+	layout : "border",
+	
+	initComponent : function () {
+		
+		var myDataView = new Ext.DataView({
+    		id : "line_byday",
+            region : 'center',
+            singleSelect : true,
+            autoScroll : true,
+	    });
+    	this.items = [myDataView];
+    	var projectAttachment = projectGlobal.sitoolsAttachementForUsers;
+    	Ext.Ajax.request( {
+    		url : '../js/modules/projectTimeline/timeline_picard.json',
+    		method : "GET",
+			success : function(response, opts) {
+				var activityList = new Array();
+				var data= Ext.decode(response.responseText);
+				var i=0;
+				var nb=15;
+				var selecteddata=null;
+				var actdata=null;
+				Ext.DomHelper.append(Ext.get('line_byday'),"<div id='searchbox'/>");
+				Ext.DomHelper.append(Ext.get('searchbox'),"<div id='startbox'/>");
+				Ext.DomHelper.append(Ext.get('startbox')," From <input type='text' id='start'/> ");
+				Ext.DomHelper.append(Ext.get('searchbox'),"<div id='endbox'/>");
+				Ext.DomHelper.append(Ext.get('endbox')," To <input type='text' id='end'/> ");
+				Ext.DomHelper.append(Ext.get('searchbox')," <button id='search' type='button'> GO </button> ");
+				Ext.DomHelper.append(Ext.get('searchbox'),"<div id='data'/>");
+				Ext.DomHelper.append(Ext.get('data'),"<button id='all' >Show all the activities</button>");
+				Ext.DomHelper.append(Ext.get('data'),"<button id='withdata'>Show the activities with data</button>");
+				Ext.get('all').on("click", function () {
+						var start=document.getElementById('start').value;
+						var end=document.getElementById('end').value;
+						actdata=false;
+						select(start,end,actdata);
+			    });
+				Ext.get('withdata').on("click", function () {
+						var start=document.getElementById('start').value;
+						var end=document.getElementById('end').value;
+						actdata=true;
+						select(start,end,actdata);
+			    });
+				Ext.get('search').on("click", function () {
+					var start=document.getElementById('start').value;
+					var end=document.getElementById('end').value;
+					select(start,end);
+			    });
+				
+    			i=getactivity(i,nb);
+				sitools.user.modules.timeline.prepareTimeline('line_byday',activityList);
+    			activityList = new Array();
+				var appendTo = Ext.get('timeline');
+				Ext.get(Ext.DomHelper.append(appendTo,"<button id='more' type='button'> more </button>"));
+				var more=Ext.get('more');
+				more.on("click", function () {
+					if(selecteddata==null){
+						i=getactivity(i,nb);
+						sitools.user.modules.timeline.addTimeline(activityList);
+						activityList = new Array();
+					}
+					else {
+						i=getactivity(i,nb,selecteddata);
+						sitools.user.modules.timeline.addTimeline(activityList);
+						activityList = new Array();
+					}
+			    });
+				
+				function select(start,end){
+					var actdata=arguments[2]?arguments[2]:false;
+					var i=0;
+					activityList = new Array();
+					Ext.get('timeline').remove();
+					var selecteddata=selectdate(start,end);
+					i=getactivity(i,nb,selecteddata,actdata);
+					console.log(activityList);
+					sitools.user.modules.timeline.prepareTimeline('line_byday',activityList);
+					activityList = new Array();
+					var appendTo = Ext.get('timeline');
+					Ext.get(Ext.DomHelper.append(appendTo,"<button id='more' type='button'> more </button>"));
+					more=Ext.get('more');
+					more.on("click", function () {
+						if(selecteddata==null) {
+							i=getactivity(i,nb);
+						}
+						else {
+							if(actdata){
+								i=getactivity(i,nb,selecteddata,actdata);
+								sitools.user.modules.timeline.addTimeline(activityList);
+								activityList = new Array();
+							}else{
+								i=getactivity(i,nb,selecteddata);
+								sitools.user.modules.timeline.addTimeline(activityList);
+								activityList = new Array();
+							}
+						}
+				    });
+				}
+				function getactivity(i,nb){
+					var selected=arguments[2]?arguments[2]:data.timeline;
+					var actdata=arguments[3]?arguments[3]:false;
+					var count=0;
+					while(selected[i]){
+						if((selected[i].data&&actdata)||!actdata){
+							var activity=new sitools.user.modules.timeline.createActivity(selected[i]);
+							if(activityList[0]){
+								if(activity.getDayCount()!=activityList[activityList.length-1].getDayCount()){
+									if(count==nb-1){
+										return i;
+									}else{
+										activityList.push(activity);
+										i++;
+										count++;
+									}
+								}else{
+									activityList.push(activity);
+									i++;
+								}
+							}else{
+								activityList.push(activity);
+								i++;
+							}
+						}else{
+							i++;
+						}
+					}
+					return i;
+				}
+				
+				function selectdate(startdate,enddate){
+					var start=null;
+					var end=null;
+					if(startdate==''&&enddate==''){
+						return data.timeline;
+					}
+					for(var n=0;n<data.timeline.length;n++){
+						if(start!=null&&end!=null) {break;}
+						if(data.timeline[n].date>=startdate){
+							if(n==0){
+								start=n;
+							}else{
+								if(data.timeline[n-1].date<startdate)
+									start=n;
+							}
+						}
+						if(data.timeline[n].date<=enddate){
+							if(n==data.timeline.length-1){
+								end=n;
+							}else{
+								if(data.timeline[n+1].date>enddate){
+									end=n;
+								}
+							}
+						}
+					}
+					if(start==null||end==null){
+						alert('Wrong date!');
+						return data.timeline;
+					}
+					if(start>end){
+						alert('Wrong date!');
+						return data.timeline;
+					}
+					//console.log(data.timeline.slice(start,end+1));
+					return data.timeline.slice(start,end+1);
+					
+				}
+			} , 
+			failure : function(response, opts) {          
+				alert("Error while loading data : "+response.responseText);                  
+			}
+		});	
+    
+		sitools.user.modules.projectTimeline_byday.superclass.initComponent.call(this);
+	},
+	
+    afterRender : function () {
+    	sitools.user.modules.projectTimeline_byday.superclass.afterRender.apply(this, arguments);
+        
+    },
+    /**
+     * method called when trying to save preference
+     * @returns
+     */
+    _getSettings : function () {
+		return {
+            preferencesPath : "/modules", 
+            preferencesFileName : this.id
+        };
+
+    }
+    
+});
+Ext.reg('sitools.user.modules.projectTimeline_byday', sitools.user.modules.projectTimeline_byday);
+
+
+
+
+
+
diff --git a/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/timeline.css b/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/timeline.css
new file mode 100644
index 0000000..383f39b
--- /dev/null
+++ b/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/timeline.css
@@ -0,0 +1,315 @@
+
+#line {
+}
+div.detail ul {
+    width: 100%;
+}
+ul#lineul {
+    background: url("01082932-d2012e4c8e3b4bb096ce5acfd7a65343.png") repeat-y scroll 120px 0 rgba(0, 0, 0, 0);
+    margin-left: 403px;
+}
+#timeline {
+    margin-top: 160px;
+}
+ul.timeline {
+    list-style-type: none;
+    margin-left: 65px;
+    padding: 0;
+    width: 1200px;
+}
+ul.timeline li {
+    padding-bottom: 80px;
+    position: relative;
+}
+ul.timeline li.day {
+    background: url("01082932-d2012e4c8e3b4bb096ce5acfd7a65343.png") repeat-y scroll 120px 0 rgba(0, 0, 0, 0);
+    float: left;
+    margin-left: -120px;
+}
+ul.timeline li.lastday {
+    background: url("01082932-d2012e4c8e3b4bb096ce5acfd7a65343.png") repeat-y scroll 120px 0 rgba(0, 0, 0, 0);
+    /*margin-left: 209px;*/
+    width: 170px;
+}
+ul.timeline li .preview {
+    margin-left: -380px;
+    position: relative;
+    top: 65px;
+}
+ul.timeline li .detail {
+    margin-left: 134px;
+    position: relative;
+    top: 65px;
+}
+ul.timeline li .detail .content {
+    margin-left: 130px;
+    position: relative;
+    top: 65px;
+}
+ul.timeline li .preview pre {
+}
+pre {
+    border: 1px solid rgba(0, 0, 0, 0.15);
+    border-radius: 3px;
+    box-shadow: 3px 3px 5px #888888;
+    cursor: pointer;
+    display: block;
+    font-size: 12px;
+    line-height: 18px;
+    margin: 0;
+    padding: 0;
+    text-align: center;
+    transition: background-color 400ms ease 0s;
+    white-space: pre-wrap;
+    width: 550px;
+    word-wrap: break-word;
+    overflow:hidden;
+}
+pre:hover {
+    transition: background-color 400ms ease 0s;
+    overflow:auto;
+}
+.detail {
+    left: 0;
+    position: relative;
+}
+.detail pre {
+    position:relative;
+    width: 100px;
+    z-index:10;
+}
+.activity_name {
+  /*  display: table-cell;
+    vertical-align: middle;*/
+   !overflow:hidden;
+}
+.activity_name:hover{
+    
+}
+ul.timeline li .time {
+    color: #999999;
+    font-size: 10px;
+    left: 154px;
+    position: absolute;
+    text-align: left;
+    top: 10px;
+    width: 90px;
+}
+ul.timeline li .date {
+    color: #3594CB;
+    font-size: 11px;
+    left: 154px;
+    line-height: 50px;
+    overflow: hidden;
+    position: absolute;
+    text-align: left;
+    top: 15px;
+    width: 290px;
+}
+ul.timeline li .monday {
+    color: #3594CB;
+    font-size: 18px;
+    left: -197px;
+    line-height: 50px;
+    overflow: hidden;
+    position: absolute;
+    text-align: right;
+    top: 3px;
+    width: 290px;
+}
+ul.timeline li .sunday {
+    color: #3594CB;
+    font-size: 18px;
+    left: 156px;
+    line-height: 50px;
+    overflow: hidden;
+    position: absolute;
+    text-align: left;
+    top: 3px;
+    width: 290px;
+}
+ul.timeline li .number {
+    background: url("01082933-1be1e966854e4a4882f3acf477a614d0.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);
+    color: #FFFFFF;
+    font-size: 12px;
+    height: 56px;
+    left: 97px;
+    line-height: 56px;
+    position: absolute;
+    text-align: center;
+    width: 56px;
+}
+ul.timeline li .weeknumber {
+    background: url("01082933-1be1e966854e4a4882f3acf477a614d0.png") no-repeat scroll 0 0 / 60px 60px rgba(0, 0, 0, 0);
+    color: #FFFFFF;
+    font-size: 14px;
+    height: 60px;
+    left: 95px;
+    line-height: 60px;
+    position: absolute;
+    text-align: center;
+    width: 60px;
+}
+ul.timeline li.alt .number {
+    background-image: url("01082933-82252b55ed5548c4b9bdd107903d1e8a.png");
+}
+ul.timeline li .ruler {
+    left: 17px;
+}
+ul.timeline li .ruler1 {
+    position: absolute;
+    top: 60px;
+}
+ul.timeline li .ruler2 {
+    position: absolute;
+    top: 150px;
+}
+ul.timeline li .ruler3 {
+    position: absolute;
+    top: 240px;
+}
+ul.timeline li .ruler4 {
+    position: absolute;
+    top: 330px;
+}
+ul.timeline li .ruler5 {
+    position: absolute;
+    top: 420px;
+}
+.havedata {
+    background-color: #D7DF01;
+}
+.havedata:hover {
+    background-color: #F7FE2E;
+}
+.nodata {
+    background-color: #3594CB;
+    color: #FFFFFF;
+}
+.nodata:hover {
+    background-color: #43B1F1;
+}
+#more {
+    cursor: pointer;
+    font-size: 20px;
+    font-weight: bold;
+    height: 50px;
+    margin:50px auto 50px auto;
+    width: 100px;
+}
+#searchbox {
+    background-color: #86919F;
+    box-shadow: 5px 5px 5px #888888;
+    border-radius: 5px;
+    font-size: 15px;
+    font-weight: bold;
+    margin-left: 10px;
+    margin-top: 5px;
+    position: fixed;
+    width: 160px;
+    z-index: 11;
+}
+#startbox {
+    float: left;
+    padding-bottom: 5px;
+    padding-left: 10px;
+    padding-top: 18px;
+}
+#searchbox:hover {
+    background-color: #98A5B7;
+    transition: background-color 400ms ease 0s;
+}
+#endbox {
+    float: left;
+    padding-left: 10px;
+    padding-top: 5px;
+}
+#start {
+    width: 135px;
+}
+#end {
+    width: 135px;
+}
+#search {
+    cursor: pointer;
+    float: left;
+    font-size: 15px;
+    font-weight: bold;
+    margin-bottom: 20px;
+    margin-left: 10px;
+    margin-top: 18px;
+    width: 140px;
+}
+#data {
+    float: left;
+    margin-bottom: 20px;
+    margin-left: 10px;
+}
+#all {
+    cursor: pointer;
+    margin-left: 10px;
+    padding-left: 5px;
+    padding-right: 5px;
+}
+#withdata {
+    cursor: pointer;
+    margin-left: 10px;
+    padding-left: 5px;
+    padding-right: 5px;
+}
+.icongetdata {
+    cursor: pointer;
+    height: 26px;
+    vertical-align: top;
+    width: 26px;
+}
+.getdata {
+    float: right;
+    margin-right: 30px;
+}
+button {
+    cursor: pointer;
+}
+.detail_button {
+    background-color: #86919F;
+    !border: 1px solid #69727F;
+    border-radius: 3px;
+    box-shadow: 3px 3px 5px #888888;
+    color: #FFFFFF;
+    cursor: pointer;
+    margin-top: 5px;
+    padding-bottom: 5px;
+    padding-top: 5px;
+    width: 550px;
+}
+.detail_button:hover {
+    background-color: #98A5B7;
+    transition: background-color 400ms ease 0s;
+}
+.img_detail {
+    background: url("zoom.png") repeat scroll 0 0 / 28px 28px rgba(0, 0, 0, 0);
+    height: 28px;
+    width: 28px;
+}
+.close_button {
+    background-color: #86919F;
+    !border: 1px solid #69727F;
+    border-radius: 3px;
+    box-shadow: 3px 3px 5px #888888;
+    color: #FFFFFF;
+    cursor: pointer;
+    margin-left: -150px;
+    margin-top: 5px;
+    padding-bottom: 5px;
+    padding-top: 5px;
+    width: 720px;
+}
+.close_button:hover {
+    background-color: #98A5B7;
+    transition: background-color 400ms ease 0s;
+}
+.img_close {
+    background: url("close-white.png") repeat scroll 0 0 / 28px 28px rgba(0, 0, 0, 0);
+    height: 28px;
+    width: 28px;
+}
diff --git a/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/timeline.js b/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/timeline.js
new file mode 100644
index 0000000..a2a8864
--- /dev/null
+++ b/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/timeline.js
@@ -0,0 +1,146 @@
+Ext.namespace('sitools.user.modules.timeline');
+sitools.user.modules.timeline.prepareTimeline= function (s,list){
+	var appendTo = Ext.get(s);
+	var container = Ext.get(Ext.DomHelper.append(appendTo,'<div id="timeline" align="center" class="timeline"></div>'));
+	container=Ext.get(Ext.DomHelper.append(container,"<ul id='lineul' class='timeline'/>"));
+	sitools.user.modules.timeline.showActivity(list,container);
+}
+sitools.user.modules.timeline.addTimeline=function (list){
+	var container = Ext.get('lineul');
+	sitools.user.modules.timeline.showActivity(list,container);
+}
+sitools.user.modules.timeline.createActivity= function (activity){
+	this.daynum=activity.daynum;
+	this.text=activity.text;
+	this.date=activity.date;
+	this.day=activity.day;
+	this.dayCount=activity.daycount;
+	this.startTime=activity.starttime;
+	this.endTime=activity.endtime;
+	this.havedata=activity.data;
+	this.dataseturl=activity.dataseturl;
+	this.getDaynum=getDaynum;
+	function getDaynum(){
+		return this.daynum;
+	}
+	this.getURL=getURL;
+	function getURL(){
+		return this.dataseturl;
+	}
+	this.haveData=haveData;
+	function haveData(){
+		//alert(this.havedata);
+		return this.havedata;
+	}
+	this.getText=getText;
+	function getText(){
+		return this.text;
+	}
+	this.getDate=getDate;
+	function getDate(){
+		return this.date;
+	}
+	this.getDay=getDay;
+	function getDay(){
+		return this.day;
+	}
+	this.getDayCount=getDayCount;
+	function getDayCount(){
+		return this.dayCount;
+	}
+	this.getStartTime=getStartTime;
+	function getStartTime(){
+		return this.startTime;
+	}
+	this.getEndTime=getEndTime;
+	function getEndTime(){
+		return this.endTime;
+	}
+}
+
+sitools.user.modules.timeline.showActivity= function (activityList, ulObj){
+	var count=0;
+	//var value='/sodism/imagessingulieres/dco';
+	 for(var i=0; i<activityList.length;i++){
+		 var newactivitynodata="<pre class='nodata' style='height:"+((activityList[i].getEndTime().split(':')[0]-activityList[i].getStartTime().split(':')[0])*15-2)+"px;'><div class='activity_name'>"+activityList[i].getText()+/*" "+activityList[i].getStartTime()+"-"+activityList[i].getEndTime()+*/"</div></pre>";
+		 var newactivitydata="<pre class='havedata' style='height:"+((activityList[i].getEndTime().split(':')[0]-activityList[i].getStartTime().split(':')[0])*15-2)+"px;'"
+		 					 +"onClick='sitools.user.clickDatasetIcone(\"/picard\", \"search\",\""+activityList[i].getDate()+"\"+\"*\"+\""+activityList[i].getStartTime()+"\"+\"*\"+\""+activityList[i].getEndTime()+"\"); return false;'><div class='activity_name'>"
+		 					 +activityList[i].getText()+/*" "+activityList[i].getStartTime()+"-"+activityList[i].getEndTime()
+		 					 +*/"<div class='getdata'><img src='" + loadUrl.get('APP_URL')
+		 					 + "/common/res/images/icons/32x32/tree_datasets_32'></div>"
+		 					 /*+"<div class='getdata'><a href='#' onClick='sitools.user.clickDatasetIcone(\""+activityList[i].getURL()+"\", \"data\"); return false;'>"
+	                         +"<img class='icongetdata' src='" +loadUrl.get('APP_URL')
+	                         + "/common/res/images/icons/32x32/tree_datasets_32.png'>"
+	                         +"</a></div>" */
+	                         +"</div></pre>";
+		 var ruler1="<div class='ruler ruler1'>00:00:00</div>";
+		 var ruler2="<div class='ruler ruler2'>06:00:00</div>";
+		 var ruler3="<div class='ruler ruler3'>12:00:00</div>";
+		 var ruler4="<div class='ruler ruler4'>18:00:00</div>";
+		 var ruler5="<div class='ruler ruler5'>24:00:00</div>";
+			 if(i==0 || activityList[i].getDayCount()!=activityList[i-1].getDayCount()){
+				 count++;
+				 //if(count%2!=0){
+					 if(activityList[i].getDayCount()==activityList[activityList.length-1].getDayCount()) {var liObj = Ext.DomHelper.append(ulObj, "<li style='margin-left:"+(-1136+(count-1)*224)+"px;' class='lastday'/>");}
+				 	else {var liObj=Ext.DomHelper.append(ulObj, "<li class='day'/>");}
+				 //}else{
+					// var liObj = Ext.DomHelper.append(ulObj, "<li class='alt day'/>");
+				 //}
+				 Ext.DomHelper.append(liObj, 
+						"<div class='time'>"+activityList[i].getDay()+"</div>"
+						+"<div class='date'>"+activityList[i].getDate()+"</div>"
+						+"<div class='number'>"+activityList[i].getDayCount()+"</div>"
+						//+ruler1
+						/*+ruler2+ruler3+ruler4+ruler5*/
+						);
+				 var contentObj=Ext.DomHelper.append(liObj,"<div class='content'/>");
+				 if(activityList[i].getStartTime().split(':')[0]!=0)
+					 Ext.DomHelper.append(contentObj,"<pre style='height:"+((activityList[i].getStartTime().split(':')[0])*15-2)+"px;background-color: #D8D8D8;'></pre>");
+			
+				
+			 }
+			 else{
+				 if(activityList[i].getStartTime().split(':')[0]!=activityList[i-1].getEndTime().split(':')[0])
+					 Ext.DomHelper.append(contentObj,"<pre style='height:"+((activityList[i].getStartTime().split(':')[0]-activityList[i-1].getEndTime().split(':')[0])*15-2)+"px;background-color: #D8D8D8;'></pre>");
+			 } 
+			 //Ext.DomHelper.append(contentObj,newactivity);
+			 if(activityList[i].haveData()){
+				 //alert("hasdata");
+				 Ext.DomHelper.append(contentObj,newactivitydata);
+			 }else{
+				 //alert("nodata");
+				 Ext.DomHelper.append(contentObj,newactivitynodata);
+			 }
+			 if(i==activityList.length-1||activityList[i].getDayCount()!=activityList[i+1].getDayCount()){
+				/* if(activityList[i].getEndTime().split(':')[0]<=6){
+					 Ext.DomHelper.append(liObj,ruler2);
+					 if(activityList[i].getEndTime().split(':')[0]!=6){
+						 Ext.DomHelper.append(contentObj,"<pre style='height:"+((6-activityList[i].getEndTime().split(':')[0])*15-2)+"px;background-color: #D8D8D8;'></pre>");
+					 }
+				 }
+				 if(activityList[i].getEndTime().split(':')[0]<=12&&activityList[i].getEndTime().split(':')[0]>6){
+					 Ext.DomHelper.append(liObj,ruler2+ruler3);
+					 if(activityList[i].getEndTime().split(':')[0]!=12){
+						 Ext.DomHelper.append(contentObj,"<pre style='height:"+((12-activityList[i].getEndTime().split(':')[0])*15-2)+"px;background-color: #D8D8D8;'></pre>");
+					 }
+				 }
+				 if(activityList[i].getEndTime().split(':')[0]<=18&&activityList[i].getEndTime().split(':')[0]>12){
+					 Ext.DomHelper.append(liObj,ruler2+ruler3+ruler4);
+					 if(activityList[i].getEndTime().split(':')[0]!=18){
+						 Ext.DomHelper.append(contentObj,"<pre style='height:"+((18-activityList[i].getEndTime().split(':')[0])*15-2)+"px;background-color: #D8D8D8;'></pre>");
+					 }
+				 }
+				 if(activityList[i].getEndTime().split(':')[0]<=24&&activityList[i].getEndTime().split(':')[0]>18){
+					 Ext.DomHelper.append(liObj,ruler2+ruler3+ruler4+ruler5);
+					 if(activityList[i].getEndTime().split(':')[0]!=24){
+						 Ext.DomHelper.append(contentObj,"<pre style='height:"+((24-activityList[i].getEndTime().split(':')[0])*15-2)+"px;background-color: #D8D8D8;'></pre>");
+					 }
+				 }*/
+					 
+				 if(activityList[i].getEndTime().split(':')[0]!=24){
+					 Ext.DomHelper.append(contentObj,"<pre style='height:"+((24-activityList[i].getEndTime().split(':')[0])*15-2)+"px;background-color: #D8D8D8;'></pre>");
+				 }
+					 
+			 }
+	 }
+}
diff --git a/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/timeline_picard.json b/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/timeline_picard.json
new file mode 100644
index 0000000..ee444e9
--- /dev/null
+++ b/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/timeline_picard.json
@@ -0,0 +1 @@
+{"timeline":[{"daynum": 40452.0, "date": "2010/10/01", "day": "Friday", "daycount": "J+108", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40453.0, "date": "2010/10/02", "day": "Saturday", "daycount": "J+109", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40454.0, "date": "2010/10/03", "day": "Sunday", "daycount": "J+110", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40455.0, "date": "2010/10/04", "day": "Monday", "daycount": "J+111", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40456.0, "date": "2010/10/05", "day": "Tuesday", "daycount": "J+112", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40457.0, "date": "2010/10/06", "day": "Wednesday", "daycount": "J+113", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40458.0, "date": "2010/10/07", "day": "Thursday", "daycount": "J+114", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40459.0, "date": "2010/10/08", "day": "Friday", "daycount": "J+115", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40460.0, "date": "2010/10/09", "day": "Saturday", "daycount": "J+116", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40461.0, "date": "2010/10/10", "day": "Sunday", "daycount": "J+117", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40462.0, "date": "2010/10/11", "day": "Monday", "daycount": "J+118", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40463.0, "date": "2010/10/12", "day": "Tuesday", "daycount": "J+119", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40464.0, "date": "2010/10/13", "day": "Wednesday", "daycount": "J+120", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40465.0, "date": "2010/10/14", "day": "Thursday", "daycount": "J+121", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40466.0, "date": "2010/10/15", "day": "Friday", "daycount": "J+122", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40467.0, "date": "2010/10/16", "day": "Saturday", "daycount": "J+123", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40468.0, "date": "2010/10/17", "day": "Sunday", "daycount": "J+124", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40469.0, "date": "2010/10/18", "day": "Monday", "daycount": "J+125", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40470.0, "date": "2010/10/19", "day": "Tuesday", "daycount": "J+126", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40471.0, "date": "2010/10/20", "day": "Wednesday", "daycount": "J+127", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40472.0, "date": "2010/10/21", "day": "Thursday", "daycount": "J+128", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40473.0, "date": "2010/10/22", "day": "Friday", "daycount": "J+129", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40474.0, "date": "2010/10/23", "day": "Saturday", "daycount": "J+130", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40475.0, "date": "2010/10/24", "day": "Sunday", "daycount": "J+131", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40476.0, "date": "2010/10/25", "day": "Monday", "daycount": "J+132", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40477.0, "date": "2010/10/26", "day": "Tuesday", "daycount": "J+133", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40478.0, "date": "2010/10/27", "day": "Wednesday", "daycount": "J+134", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40479.0, "date": "2010/10/28", "day": "Thursday", "daycount": "J+135", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40480.0, "date": "2010/10/29", "day": "Friday", "daycount": "J+136", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40481.0, "date": "2010/10/30", "day": "Saturday", "daycount": "J+137", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40482.0, "date": "2010/10/31", "day": "Sunday", "daycount": "J+138", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40483.0, "date": "2010/11/01", "day": "Monday", "daycount": "J+139", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40484.0, "date": "2010/11/02", "day": "Tuesday", "daycount": "J+140", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40485.0, "date": "2010/11/03", "day": "Wednesday", "daycount": "J+141", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40486.0, "date": "2010/11/04", "day": "Thursday", "daycount": "J+142", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40487.0, "date": "2010/11/05", "day": "Friday", "daycount": "J+143", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40488.0, "date": "2010/11/06", "day": "Saturday", "daycount": "J+144", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40489.0, "date": "2010/11/07", "day": "Sunday", "daycount": "J+145", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40490.0, "date": "2010/11/08", "day": "Monday", "daycount": "J+146", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40491.0, "date": "2010/11/09", "day": "Tuesday", "daycount": "J+147", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40492.0, "date": "2010/11/10", "day": "Wednesday", "daycount": "J+148", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40493.0, "date": "2010/11/11", "day": "Thursday", "daycount": "J+149", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40494.0, "date": "2010/11/12", "day": "Friday", "daycount": "J+150", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40495.0, "date": "2010/11/13", "day": "Saturday", "daycount": "J+151", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40496.0, "date": "2010/11/14", "day": "Sunday", "daycount": "J+152", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40497.0, "date": "2010/11/15", "day": "Monday", "daycount": "J+153", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40498.0, "date": "2010/11/16", "day": "Tuesday", "daycount": "J+154", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40499.0, "date": "2010/11/17", "day": "Wednesday", "daycount": "J+155", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40500.0, "date": "2010/11/18", "day": "Thursday", "daycount": "J+156", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40501.0, "date": "2010/11/19", "day": "Friday", "daycount": "J+157", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40502.0, "date": "2010/11/20", "day": "Saturday", "daycount": "J+158", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40503.0, "date": "2010/11/21", "day": "Sunday", "daycount": "J+159", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40504.0, "date": "2010/11/22", "day": "Monday", "daycount": "J+160", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40505.0, "date": "2010/11/23", "day": "Tuesday", "daycount": "J+161", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40506.0, "date": "2010/11/24", "day": "Wednesday", "daycount": "J+162", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40507.0, "date": "2010/11/25", "day": "Thursday", "daycount": "J+163", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40508.0, "date": "2010/11/26", "day": "Friday", "daycount": "J+164", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40509.0, "date": "2010/11/27", "day": "Saturday", "daycount": "J+165", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40510.0, "date": "2010/11/28", "day": "Sunday", "daycount": "J+166", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40511.0, "date": "2010/11/29", "day": "Monday", "daycount": "J+167", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40512.0, "date": "2010/11/30", "day": "Tuesday", "daycount": "J+168", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40513.0, "date": "2010/12/01", "day": "Wednesday", "daycount": "J+169", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40514.0, "date": "2010/12/02", "day": "Thursday", "daycount": "J+170", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40515.0, "date": "2010/12/03", "day": "Friday", "daycount": "J+171", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40516.0, "date": "2010/12/04", "day": "Saturday", "daycount": "J+172", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40517.0, "date": "2010/12/05", "day": "Sunday", "daycount": "J+173", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40518.0, "date": "2010/12/06", "day": "Monday", "daycount": "J+174", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40519.0, "date": "2010/12/07", "day": "Tuesday", "daycount": "J+175", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40520.0, "date": "2010/12/08", "day": "Wednesday", "daycount": "J+176", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40521.0, "date": "2010/12/09", "day": "Thursday", "daycount": "J+177", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40522.0, "date": "2010/12/10", "day": "Friday", "daycount": "J+178", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40523.0, "date": "2010/12/11", "day": "Saturday", "daycount": "J+179", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40524.0, "date": "2010/12/12", "day": "Sunday", "daycount": "J+180", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40525.0, "date": "2010/12/13", "day": "Monday", "daycount": "J+181", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40526.0, "date": "2010/12/14", "day": "Tuesday", "daycount": "J+182", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40527.0, "date": "2010/12/15", "day": "Wednesday", "daycount": "J+183", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40528.0, "date": "2010/12/16", "day": "Thursday", "daycount": "J+184", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40529.0, "date": "2010/12/17", "day": "Friday", "daycount": "J+185", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40530.0, "date": "2010/12/18", "day": "Saturday", "daycount": "J+186", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40531.0, "date": "2010/12/19", "day": "Sunday", "daycount": "J+187", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40532.0, "date": "2010/12/20", "day": "Monday", "daycount": "J+188", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40533.0, "date": "2010/12/21", "day": "Tuesday", "daycount": "J+189", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40534.0, "date": "2010/12/22", "day": "Wednesday", "daycount": "J+190", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40535.0, "date": "2010/12/23", "day": "Thursday", "daycount": "J+191", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40536.0, "date": "2010/12/24", "day": "Friday", "daycount": "J+192", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40537.0, "date": "2010/12/25", "day": "Saturday", "daycount": "J+193", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40538.0, "date": "2010/12/26", "day": "Sunday", "daycount": "J+194", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40539.0, "date": "2010/12/27", "day": "Monday", "daycount": "J+195", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40540.0, "date": "2010/12/28", "day": "Tuesday", "daycount": "J+196", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40541.0, "date": "2010/12/29", "day": "Wednesday", "daycount": "J+197", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40542.0, "date": "2010/12/30", "day": "Thursday", "daycount": "J+198", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40543.0, "date": "2010/12/31", "day": "Friday", "daycount": "J+199", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40544.0, "date": "2011/01/01", "day": "Saturday", "daycount": "J+200", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40545.0, "date": "2011/01/02", "day": "Sunday", "daycount": "J+201", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40546.0, "date": "2011/01/03", "day": "Monday", "daycount": "J+202", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40548.0, "date": "2011/01/05", "day": "Wednesday", "daycount": "J+204", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40549.0, "date": "2011/01/06", "day": "Thursday", "daycount": "J+205", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40550.0, "date": "2011/01/07", "day": "Friday", "daycount": "J+206", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40551.0, "date": "2011/01/08", "day": "Saturday", "daycount": "J+207", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40552.0, "date": "2011/01/09", "day": "Sunday", "daycount": "J+208", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40553.0, "date": "2011/01/10", "day": "Monday", "daycount": "J+209", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40554.0, "date": "2011/01/11", "day": "Tuesday", "daycount": "J+210", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40555.0, "date": "2011/01/12", "day": "Wednesday", "daycount": "J+211", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40556.0, "date": "2011/01/13", "day": "Thursday", "daycount": "J+212", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40557.0, "date": "2011/01/14", "day": "Friday", "daycount": "J+213", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40558.0, "date": "2011/01/15", "day": "Saturday", "daycount": "J+214", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40559.0, "date": "2011/01/16", "day": "Sunday", "daycount": "J+215", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40560.0, "date": "2011/01/17", "day": "Monday", "daycount": "J+216", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40561.0, "date": "2011/01/18", "day": "Tuesday", "daycount": "J+217", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40562.0, "date": "2011/01/19", "day": "Wednesday", "daycount": "J+218", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40563.0, "date": "2011/01/20", "day": "Thursday", "daycount": "J+219", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40564.0, "date": "2011/01/21", "day": "Friday", "daycount": "J+220", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40565.0, "date": "2011/01/22", "day": "Saturday", "daycount": "J+221", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40566.0, "date": "2011/01/23", "day": "Sunday", "daycount": "J+222", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40567.0, "date": "2011/01/24", "day": "Monday", "daycount": "J+223", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40568.0, "date": "2011/01/25", "day": "Tuesday", "daycount": "J+224", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40569.0, "date": "2011/01/26", "day": "Wednesday", "daycount": "J+225", "starttime": "02:00:00", "endtime": "04:00:00", "text": "SODISM: Configuration Restoration", "data": 0.0}, {"daynum": 40570.0, "date": "2011/01/27", "day": "Thursday", "daycount": "J+226", "starttime": "09:00:00", "endtime": "12:00:00", "text": "SODISM: Specific images during last eclipses", "data": 0.0}, {"daynum": 40571.0, "date": "2011/01/28", "day": "Friday", "daycount": "J+227", "starttime": "09:00:00", "endtime": "12:00:00", "text": "SODISM: Specific images during last eclipses", "data": 0.0}, {"daynum": 40572.0, "date": "2011/01/29", "day": "Saturday", "daycount": "J+228", "starttime": "09:00:00", "endtime": "12:00:00", "text": "SODISM: Specific images during last eclipses", "data": 0.0}, {"daynum": 40573.0, "date": "2011/01/30", "day": "Sunday", "daycount": "J+229", "starttime": "09:00:00", "endtime": "12:00:00", "text": "SODISM: Specific images during last eclipses", "data": 0.0}, {"daynum": 40574.0, "date": "2011/01/31", "day": "Monday", "daycount": "J+230", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40575.0, "date": "2011/02/01", "day": "Tuesday", "daycount": "J+231", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40576.0, "date": "2011/02/02", "day": "Wednesday", "daycount": "J+232", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40577.0, "date": "2011/02/03", "day": "Thursday", "daycount": "J+233", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40578.0, "date": "2011/02/04", "day": "Friday", "daycount": "J+234", "starttime": "17:00:00", "endtime": "19:00:00", "text": "PREMOS: Science mode", "data": 0.0}, {"daynum": 40579.0, "date": "2011/02/05", "day": "Saturday", "daycount": "J+235", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40580.0, "date": "2011/02/06", "day": "Sunday", "daycount": "J+236", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40581.0, "date": "2011/02/07", "day": "Monday", "daycount": "J+237", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40582.0, "date": "2011/02/08", "day": "Tuesday", "daycount": "J+238", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40583.0, "date": "2011/02/09", "day": "Wednesday", "daycount": "J+239", "starttime": "00:00:00", "endtime": "15:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 215nm", "data": 0.0}, {"daynum": 40583.0, "date": "2011/02/09", "day": "Wednesday", "daycount": "J+239", "starttime": "16:00:00", "endtime": "24:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 393nm", "data": 0.0}, {"daynum": 40584.0, "date": "2011/02/10", "day": "Thursday", "daycount": "J+240", "starttime": "00:00:00", "endtime": "09:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 393nm", "data": 0.0}, {"daynum": 40584.0, "date": "2011/02/10", "day": "Thursday", "daycount": "J+240", "starttime": "10:00:00", "endtime": "24:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 535nm", "data": 0.0}, {"daynum": 40585.0, "date": "2011/02/11", "day": "Friday", "daycount": "J+241", "starttime": "00:00:00", "endtime": "15:00:00", "text": "SODISM M1 offset X and Y Calibration Lambda: 607nm", "data": 0.0}, {"daynum": 40585.0, "date": "2011/02/11", "day": "Friday", "daycount": "J+241", "starttime": "16:00:00", "endtime": "24:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 782nm", "data": 0.0}, {"daynum": 40586.0, "date": "2011/02/12", "day": "Saturday", "daycount": "J+242", "starttime": "00:00:00", "endtime": "09:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 782nm", "data": 0.0}, {"daynum": 40586.0, "date": "2011/02/12", "day": "Saturday", "daycount": "J+242", "starttime": "10:00:00", "endtime": "24:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: H\u00e9lio", "data": 0.0}, {"daynum": 40587.0, "date": "2011/02/13", "day": "Sunday", "daycount": "J+243", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40588.0, "date": "2011/02/14", "day": "Monday", "daycount": "J+244", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40589.0, "date": "2011/02/15", "day": "Tuesday", "daycount": "J+245", "starttime": "00:00:00", "endtime": "02:00:00", "text": "PREMOS: Science mode At 02:00:10", "data": 0.0}, {"daynum": 40590.0, "date": "2011/02/16", "day": "Wednesday", "daycount": "J+246", "starttime": "00:00:00", "endtime": "15:00:00", "text": "SODISM M1 Flatfield Lambda: 215 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40590.0, "date": "2011/02/16", "day": "Wednesday", "daycount": "J+246", "starttime": "16:00:00", "endtime": "24:00:00", "text": "SODISM M1 Flatfield Lambda: 393 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40591.0, "date": "2011/02/17", "day": "Thursday", "daycount": "J+247", "starttime": "00:00:00", "endtime": "09:00:00", "text": "SODISM M1 Flatfield Lambda: 393 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40591.0, "date": "2011/02/17", "day": "Thursday", "daycount": "J+247", "starttime": "10:00:00", "endtime": "24:00:00", "text": "SODISM M1 Flatfield Lambda: 535 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40592.0, "date": "2011/02/18", "day": "Friday", "daycount": "J+248", "starttime": "00:00:00", "endtime": "15:00:00", "text": "SODISM M1 Flatfield Lambda: 607 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40592.0, "date": "2011/02/18", "day": "Friday", "daycount": "J+248", "starttime": "16:00:00", "endtime": "24:00:00", "text": "SODISM M1 Flatfield Lambda: 782 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40593.0, "date": "2011/02/19", "day": "Saturday", "daycount": "J+249", "starttime": "00:00:00", "endtime": "09:00:00", "text": "SODISM M1 Flatfield Lambda: 782 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40593.0, "date": "2011/02/19", "day": "Saturday", "daycount": "J+249", "starttime": "10:00:00", "endtime": "24:00:00", "text": "SODISM M1 Flatfield Lambda: Helio (Mask 70 & 70)", "data": 0.0}, {"daynum": 40594.0, "date": "2011/02/20", "day": "Sunday", "daycount": "J+250", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40595.0, "date": "2011/02/21", "day": "Monday", "daycount": "J+251", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40596.0, "date": "2011/02/22", "day": "Tuesday", "daycount": "J+252", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40597.0, "date": "2011/02/23", "day": "Wednesday", "daycount": "J+253", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40598.0, "date": "2011/02/24", "day": "Thursday", "daycount": "J+254", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40599.0, "date": "2011/02/25", "day": "Friday", "daycount": "J+255", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40600.0, "date": "2011/02/26", "day": "Saturday", "daycount": "J+256", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40601.0, "date": "2011/02/27", "day": "Sunday", "daycount": "J+257", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40602.0, "date": "2011/02/28", "day": "Monday", "daycount": "J+258", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40603.0, "date": "2011/03/01", "day": "Tuesday", "daycount": "J+259", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40604.0, "date": "2011/03/02", "day": "Wednesday", "daycount": "J+260", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Exposure time Variation: 607 nm", "data": 0.0}, {"daynum": 40605.0, "date": "2011/03/03", "day": "Thursday", "daycount": "J+261", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40606.0, "date": "2011/03/04", "day": "Friday", "daycount": "J+262", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40607.0, "date": "2011/03/05", "day": "Saturday", "daycount": "J+263", "starttime": "00:00:00", "endtime": "05:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 215 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40607.0, "date": "2011/03/05", "day": "Saturday", "daycount": "J+263", "starttime": "05:00:00", "endtime": "10:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 393 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40607.0, "date": "2011/03/05", "day": "Saturday", "daycount": "J+263", "starttime": "10:00:00", "endtime": "15:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 535 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40607.0, "date": "2011/03/05", "day": "Saturday", "daycount": "J+263", "starttime": "15:00:00", "endtime": "20:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 607 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40607.0, "date": "2011/03/05", "day": "Saturday", "daycount": "J+263", "starttime": "20:00:00", "endtime": "24:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 782 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40608.0, "date": "2011/03/06", "day": "Sunday", "daycount": "J+264", "starttime": "00:00:00", "endtime": "01:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 782 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40608.0, "date": "2011/03/06", "day": "Sunday", "daycount": "J+264", "starttime": "01:00:00", "endtime": "06:00:00", "text": "SODISM M1 Flatfield With full images Lambda: Helio (Mask 70 & 70)", "data": 0.0}, {"daynum": 40608.0, "date": "2011/03/06", "day": "Sunday", "daycount": "J+264", "starttime": "06:00:00", "endtime": "24:00:00", "text": "SODISM M1 Flatfield With lens Lambda:782 nm", "data": 0.0}, {"daynum": 40609.0, "date": "2011/03/07", "day": "Monday", "daycount": "J+265", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40610.0, "date": "2011/03/08", "day": "Tuesday", "daycount": "J+266", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40611.0, "date": "2011/03/09", "day": "Wednesday", "daycount": "J+267", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40612.0, "date": "2011/03/10", "day": "Thursday", "daycount": "J+268", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40613.0, "date": "2011/03/11", "day": "Friday", "daycount": "J+269", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40614.0, "date": "2011/03/12", "day": "Saturday", "daycount": "J+270", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Test to alternate 535 Helio and Diameter filters (Mask 40 & 40)", "data": 0.0}, {"daynum": 40615.0, "date": "2011/03/13", "day": "Sunday", "daycount": "J+271", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40616.0, "date": "2011/03/14", "day": "Monday", "daycount": "J+272", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40617.0, "date": "2011/03/15", "day": "Tuesday", "daycount": "J+273", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40618.0, "date": "2011/03/16", "day": "Wednesday", "daycount": "J+274", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40619.0, "date": "2011/03/17", "day": "Thursday", "daycount": "J+275", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40620.0, "date": "2011/03/18", "day": "Friday", "daycount": "J+276", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40621.0, "date": "2011/03/19", "day": "Saturday", "daycount": "J+277", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Exposure time Variation: 535 nm (Helio)", "data": 0.0}, {"daynum": 40622.0, "date": "2011/03/20", "day": "Sunday", "daycount": "J+278", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Exposure time Variation: 393 nm", "data": 0.0}, {"daynum": 40623.0, "date": "2011/03/21", "day": "Monday", "daycount": "J+279", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40624.0, "date": "2011/03/22", "day": "Tuesday", "daycount": "J+280", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Exposure time Variation: 535 nm", "data": 0.0}, {"daynum": 40625.0, "date": "2011/03/23", "day": "Wednesday", "daycount": "J+281", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40626.0, "date": "2011/03/24", "day": "Thursday", "daycount": "J+282", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Exposure time Variation: 782", "data": 0.0}, {"daynum": 40627.0, "date": "2011/03/25", "day": "Friday", "daycount": "J+283", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Exposure time Variation: 215", "data": 0.0}, {"daynum": 40628.0, "date": "2011/03/26", "day": "Saturday", "daycount": "J+284", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Pointing M1: Calibrating Offsets", "data": 0.0}, {"daynum": 40629.0, "date": "2011/03/27", "day": "Sunday", "daycount": "J+285", "starttime": "00:00:00", "endtime": "04:00:00", "text": "SODISM Alternating CO/image/CO at 607 nm", "data": 0.0}, {"daynum": 40630.0, "date": "2011/03/28", "day": "Monday", "daycount": "J+286", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40631.0, "date": "2011/03/29", "day": "Tuesday", "daycount": "J+287", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Procedure to alternate 535 DL/782 DL (Duration: 1 day)", "data": 0.0}, {"daynum": 40632.0, "date": "2011/03/30", "day": "Wednesday", "daycount": "J+288", "starttime": "00:00:00", "endtime": "10:00:00", "text": "SODISM Exposure time variation: Dark current", "data": 0.0}, {"daynum": 40633.0, "date": "2011/03/31", "day": "Thursday", "daycount": "J+289", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40634.0, "date": "2011/04/01", "day": "Friday", "daycount": "J+290", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40635.0, "date": "2011/04/02", "day": "Saturday", "daycount": "J+291", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Pointing M1: Calibrating Offsets X offsets: 1884 Y offsets: 2153 Z offsets: 2048 Exposure time: defaut", "data": 0.0}, {"daynum": 40636.0, "date": "2011/04/03", "day": "Sunday", "daycount": "J+292", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40637.0, "date": "2011/04/04", "day": "Monday", "daycount": "J+293", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40638.0, "date": "2011/04/05", "day": "Tuesday", "daycount": "J+294", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40639.0, "date": "2011/04/06", "day": "Wednesday", "daycount": "J+295", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40640.0, "date": "2011/04/07", "day": "Thursday", "daycount": "J+296", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40641.0, "date": "2011/04/08", "day": "Friday", "daycount": "J+297", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40642.0, "date": "2011/04/09", "day": "Saturday", "daycount": "J+298", "starttime": "03:00:00", "endtime": "06:00:00", "text": "SODISM : Thermal configuration modification Table 005", "data": 0.0}, {"daynum": 40643.0, "date": "2011/04/10", "day": "Sunday", "daycount": "J+299", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40644.0, "date": "2011/04/11", "day": "Monday", "daycount": "J+300", "starttime": "05:00:00", "endtime": "15:00:00", "text": "SOVAP R10 MUX 9  Duration: ~7 days", "data": 0.0}, {"daynum": 40645.0, "date": "2011/04/12", "day": "Tuesday", "daycount": "J+301", "starttime": "00:00:00", "endtime": "02:00:00", "text": "PREMOS: Science mode", "data": 0.0}, {"daynum": 40646.0, "date": "2011/04/13", "day": "Wednesday", "daycount": "J+302", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Alternation Measurements controlled and non-controlled mode", "data": 0.0}, {"daynum": 40647.0, "date": "2011/04/14", "day": "Thursday", "daycount": "J+303", "starttime": "00:00:00", "endtime": "14:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: H\u00e9lio", "data": 0.0}, {"daynum": 40648.0, "date": "2011/04/15", "day": "Friday", "daycount": "J+304", "starttime": "00:00:00", "endtime": "14:00:00", "text": "SODISM M1 Flatfield Lambda: Helio (Mask 70 & 70)", "data": 0.0}, {"daynum": 40649.0, "date": "2011/04/16", "day": "Saturday", "daycount": "J+305", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Sequence of specific helioseismology measurements", "data": 0.0}, {"daynum": 40650.0, "date": "2011/04/17", "day": "Sunday", "daycount": "J+306", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Sequence of specific helioseismology measurements", "data": 0.0}, {"daynum": 40651.0, "date": "2011/04/18", "day": "Monday", "daycount": "J+307", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Sequence of specific helioseismology measurements", "data": 0.0}, {"daynum": 40652.0, "date": "2011/04/19", "day": "Tuesday", "daycount": "J+308", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40653.0, "date": "2011/04/20", "day": "Wednesday", "daycount": "J+309", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40654.0, "date": "2011/04/21", "day": "Thursday", "daycount": "J+310", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40655.0, "date": "2011/04/22", "day": "Friday", "daycount": "J+311", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40656.0, "date": "2011/04/23", "day": "Saturday", "daycount": "J+312", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40657.0, "date": "2011/04/24", "day": "Sunday", "daycount": "J+313", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40658.0, "date": "2011/04/25", "day": "Monday", "daycount": "J+314", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40659.0, "date": "2011/04/26", "day": "Tuesday", "daycount": "J+315", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40660.0, "date": "2011/04/27", "day": "Wednesday", "daycount": "J+316", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40661.0, "date": "2011/04/28", "day": "Thursday", "daycount": "J+317", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40662.0, "date": "2011/04/29", "day": "Friday", "daycount": "J+318", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40663.0, "date": "2011/04/30", "day": "Saturday", "daycount": "J+319", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40664.0, "date": "2011/05/01", "day": "Sunday", "daycount": "J+320", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40665.0, "date": "2011/05/02", "day": "Monday", "daycount": "J+321", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40666.0, "date": "2011/05/03", "day": "Tuesday", "daycount": "J+322", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40667.0, "date": "2011/05/04", "day": "Wednesday", "daycount": "J+323", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40668.0, "date": "2011/05/05", "day": "Thursday", "daycount": "J+324", "starttime": "00:00:00", "endtime": "14:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 215 nm", "data": 0.0}, {"daynum": 40669.0, "date": "2011/05/06", "day": "Friday", "daycount": "J+325", "starttime": "00:00:00", "endtime": "14:00:00", "text": "SODISM M1 Flatfield Lambda: 215 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40670.0, "date": "2011/05/07", "day": "Saturday", "daycount": "J+326", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40671.0, "date": "2011/05/08", "day": "Sunday", "daycount": "J+327", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40672.0, "date": "2011/05/09", "day": "Monday", "daycount": "J+328", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40673.0, "date": "2011/05/10", "day": "Tuesday", "daycount": "J+329", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40674.0, "date": "2011/05/11", "day": "Wednesday", "daycount": "J+330", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40675.0, "date": "2011/05/12", "day": "Thursday", "daycount": "J+331", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40676.0, "date": "2011/05/13", "day": "Friday", "daycount": "J+332", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40677.0, "date": "2011/05/14", "day": "Saturday", "daycount": "J+333", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40678.0, "date": "2011/05/15", "day": "Sunday", "daycount": "J+334", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40679.0, "date": "2011/05/16", "day": "Monday", "daycount": "J+335", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40680.0, "date": "2011/05/17", "day": "Tuesday", "daycount": "J+336", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40681.0, "date": "2011/05/18", "day": "Wednesday", "daycount": "J+337", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40682.0, "date": "2011/05/19", "day": "Thursday", "daycount": "J+338", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40683.0, "date": "2011/05/20", "day": "Friday", "daycount": "J+339", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40684.0, "date": "2011/05/21", "day": "Saturday", "daycount": "J+340", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40685.0, "date": "2011/05/22", "day": "Sunday", "daycount": "J+341", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40686.0, "date": "2011/05/23", "day": "Monday", "daycount": "J+342", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40687.0, "date": "2011/05/24", "day": "Tuesday", "daycount": "J+343", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40688.0, "date": "2011/05/25", "day": "Wednesday", "daycount": "J+344", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40689.0, "date": "2011/05/26", "day": "Thursday", "daycount": "J+345", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40690.0, "date": "2011/05/27", "day": "Friday", "daycount": "J+346", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40691.0, "date": "2011/05/28", "day": "Saturday", "daycount": "J+347", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40692.0, "date": "2011/05/29", "day": "Sunday", "daycount": "J+348", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40693.0, "date": "2011/05/30", "day": "Monday", "daycount": "J+349", "starttime": "06:00:00", "endtime": "09:00:00", "text": "SODISM: Improved MES (stellar) mode", "data": 0.0}, {"daynum": 40694.0, "date": "2011/05/31", "day": "Tuesday", "daycount": "J+350", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40696.0, "date": "2011/06/02", "day": "Thursday", "daycount": "J+352", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40697.0, "date": "2011/06/03", "day": "Friday", "daycount": "J+353", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40698.0, "date": "2011/06/04", "day": "Saturday", "daycount": "J+354", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40699.0, "date": "2011/06/05", "day": "Sunday", "daycount": "J+355", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40700.0, "date": "2011/06/06", "day": "Monday", "daycount": "J+356", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40701.0, "date": "2011/06/07", "day": "Tuesday", "daycount": "J+357", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40702.0, "date": "2011/06/08", "day": "Wednesday", "daycount": "J+358", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40703.0, "date": "2011/06/09", "day": "Thursday", "daycount": "J+359", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40704.0, "date": "2011/06/10", "day": "Friday", "daycount": "J+360", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40705.0, "date": "2011/06/11", "day": "Saturday", "daycount": "J+361", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40706.0, "date": "2011/06/12", "day": "Sunday", "daycount": "J+362", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40707.0, "date": "2011/06/13", "day": "Monday", "daycount": "J+363", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40708.0, "date": "2011/06/14", "day": "Tuesday", "daycount": "J+364", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40709.0, "date": "2011/06/15", "day": "Wednesday", "daycount": "J+365", "starttime": "12:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 40710.0, "date": "2011/06/16", "day": "Thursday", "daycount": "J+366", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 40711.0, "date": "2011/06/17", "day": "Friday", "daycount": "J+367", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 40712.0, "date": "2011/06/18", "day": "Saturday", "daycount": "J+368", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 40713.0, "date": "2011/06/19", "day": "Sunday", "daycount": "J+369", "starttime": "00:00:00", "endtime": "15:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 40714.0, "date": "2011/06/20", "day": "Monday", "daycount": "J+370", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40715.0, "date": "2011/06/21", "day": "Tuesday", "daycount": "J+371", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40716.0, "date": "2011/06/22", "day": "Wednesday", "daycount": "J+372", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40717.0, "date": "2011/06/23", "day": "Thursday", "daycount": "J+373", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40718.0, "date": "2011/06/24", "day": "Friday", "daycount": "J+374", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40719.0, "date": "2011/06/25", "day": "Saturday", "daycount": "J+375", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Variation of Z offsets", "data": 0.0}, {"daynum": 40720.0, "date": "2011/06/26", "day": "Sunday", "daycount": "J+376", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Variation of Z offsets", "data": 0.0}, {"daynum": 40721.0, "date": "2011/06/27", "day": "Monday", "daycount": "J+377", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40722.0, "date": "2011/06/28", "day": "Tuesday", "daycount": "J+378", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40723.0, "date": "2011/06/29", "day": "Wednesday", "daycount": "J+379", "starttime": "07:00:00", "endtime": "24:00:00", "text": "SODISM: CCD remanence", "data": 0.0}, {"daynum": 40724.0, "date": "2011/06/30", "day": "Thursday", "daycount": "J+380", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40725.0, "date": "2011/07/01", "day": "Friday", "daycount": "J+381", "starttime": "06:00:00", "endtime": "08:00:00", "text": "Special operations will be programmed", "data": 0.0}, {"daynum": 40726.0, "date": "2011/07/02", "day": "Saturday", "daycount": "J+382", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40727.0, "date": "2011/07/03", "day": "Sunday", "daycount": "J+383", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40728.0, "date": "2011/07/04", "day": "Monday", "daycount": "J+384", "starttime": "05:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535, DL images)", "data": 0.0}, {"daynum": 40729.0, "date": "2011/07/05", "day": "Tuesday", "daycount": "J+385", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535, DL images)", "data": 0.0}, {"daynum": 40730.0, "date": "2011/07/06", "day": "Wednesday", "daycount": "J+386", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40731.0, "date": "2011/07/07", "day": "Thursday", "daycount": "J+387", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40732.0, "date": "2011/07/08", "day": "Friday", "daycount": "J+388", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40733.0, "date": "2011/07/09", "day": "Saturday", "daycount": "J+389", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40734.0, "date": "2011/07/10", "day": "Sunday", "daycount": "J+390", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40735.0, "date": "2011/07/11", "day": "Monday", "daycount": "J+391", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40736.0, "date": "2011/07/12", "day": "Tuesday", "daycount": "J+392", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40737.0, "date": "2011/07/13", "day": "Wednesday", "daycount": "J+393", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535, RS images)", "data": 0.0}, {"daynum": 40738.0, "date": "2011/07/14", "day": "Thursday", "daycount": "J+394", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535, RS images)", "data": 0.0}, {"daynum": 40739.0, "date": "2011/07/15", "day": "Friday", "daycount": "J+395", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40740.0, "date": "2011/07/16", "day": "Saturday", "daycount": "J+396", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40741.0, "date": "2011/07/17", "day": "Sunday", "daycount": "J+397", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40742.0, "date": "2011/07/18", "day": "Monday", "daycount": "J+398", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40743.0, "date": "2011/07/19", "day": "Tuesday", "daycount": "J+399", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40744.0, "date": "2011/07/20", "day": "Wednesday", "daycount": "J+400", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40745.0, "date": "2011/07/21", "day": "Thursday", "daycount": "J+401", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40746.0, "date": "2011/07/22", "day": "Friday", "daycount": "J+402", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40747.0, "date": "2011/07/23", "day": "Saturday", "daycount": "J+403", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40748.0, "date": "2011/07/24", "day": "Sunday", "daycount": "J+404", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40749.0, "date": "2011/07/25", "day": "Monday", "daycount": "J+405", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40750.0, "date": "2011/07/26", "day": "Tuesday", "daycount": "J+406", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40751.0, "date": "2011/07/27", "day": "Wednesday", "daycount": "J+407", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40752.0, "date": "2011/07/28", "day": "Thursday", "daycount": "J+408", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40753.0, "date": "2011/07/29", "day": "Friday", "daycount": "J+409", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40754.0, "date": "2011/07/30", "day": "Saturday", "daycount": "J+410", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40755.0, "date": "2011/07/31", "day": "Sunday", "daycount": "J+411", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40756.0, "date": "2011/08/01", "day": "Monday", "daycount": "J+412", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40757.0, "date": "2011/08/02", "day": "Tuesday", "daycount": "J+413", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40758.0, "date": "2011/08/03", "day": "Wednesday", "daycount": "J+414", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40759.0, "date": "2011/08/04", "day": "Thursday", "daycount": "J+415", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40760.0, "date": "2011/08/05", "day": "Friday", "daycount": "J+416", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40761.0, "date": "2011/08/06", "day": "Saturday", "daycount": "J+417", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40762.0, "date": "2011/08/07", "day": "Sunday", "daycount": "J+418", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40763.0, "date": "2011/08/08", "day": "Monday", "daycount": "J+419", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40764.0, "date": "2011/08/09", "day": "Tuesday", "daycount": "J+420", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40765.0, "date": "2011/08/10", "day": "Wednesday", "daycount": "J+421", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40766.0, "date": "2011/08/11", "day": "Thursday", "daycount": "J+422", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40767.0, "date": "2011/08/12", "day": "Friday", "daycount": "J+423", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40768.0, "date": "2011/08/13", "day": "Saturday", "daycount": "J+424", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40769.0, "date": "2011/08/14", "day": "Sunday", "daycount": "J+425", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40770.0, "date": "2011/08/15", "day": "Monday", "daycount": "J+426", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40771.0, "date": "2011/08/16", "day": "Tuesday", "daycount": "J+427", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40772.0, "date": "2011/08/17", "day": "Wednesday", "daycount": "J+428", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40773.0, "date": "2011/08/18", "day": "Thursday", "daycount": "J+429", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40774.0, "date": "2011/08/19", "day": "Friday", "daycount": "J+430", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40775.0, "date": "2011/08/20", "day": "Saturday", "daycount": "J+431", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40776.0, "date": "2011/08/21", "day": "Sunday", "daycount": "J+432", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40777.0, "date": "2011/08/22", "day": "Monday", "daycount": "J+433", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40778.0, "date": "2011/08/23", "day": "Tuesday", "daycount": "J+434", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40779.0, "date": "2011/08/24", "day": "Wednesday", "daycount": "J+435", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40780.0, "date": "2011/08/25", "day": "Thursday", "daycount": "J+436", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40781.0, "date": "2011/08/26", "day": "Friday", "daycount": "J+437", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40782.0, "date": "2011/08/27", "day": "Saturday", "daycount": "J+438", "starttime": "08:00:00", "endtime": "13:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 215 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40783.0, "date": "2011/08/28", "day": "Sunday", "daycount": "J+439", "starttime": "08:00:00", "endtime": "13:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 393 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40784.0, "date": "2011/08/29", "day": "Monday", "daycount": "J+440", "starttime": "08:00:00", "endtime": "13:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 535 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40785.0, "date": "2011/08/30", "day": "Tuesday", "daycount": "J+441", "starttime": "08:00:00", "endtime": "13:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 607 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40786.0, "date": "2011/08/31", "day": "Wednesday", "daycount": "J+442", "starttime": "08:00:00", "endtime": "13:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 782 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40787.0, "date": "2011/09/01", "day": "Thursday", "daycount": "J+443", "starttime": "08:00:00", "endtime": "13:00:00", "text": "SODISM M1 Flatfield With full images Lambda: Helio (Mask 70 & 70)", "data": 0.0}, {"daynum": 40788.0, "date": "2011/09/02", "day": "Friday", "daycount": "J+444", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40789.0, "date": "2011/09/03", "day": "Saturday", "daycount": "J+445", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40790.0, "date": "2011/09/04", "day": "Sunday", "daycount": "J+446", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40791.0, "date": "2011/09/05", "day": "Monday", "daycount": "J+447", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40792.0, "date": "2011/09/06", "day": "Tuesday", "daycount": "J+448", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40793.0, "date": "2011/09/07", "day": "Wednesday", "daycount": "J+449", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40794.0, "date": "2011/09/08", "day": "Thursday", "daycount": "J+450", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40795.0, "date": "2011/09/09", "day": "Friday", "daycount": "J+451", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40796.0, "date": "2011/09/10", "day": "Saturday", "daycount": "J+452", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40797.0, "date": "2011/09/11", "day": "Sunday", "daycount": "J+453", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40798.0, "date": "2011/09/12", "day": "Monday", "daycount": "J+454", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40799.0, "date": "2011/09/13", "day": "Tuesday", "daycount": "J+455", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40800.0, "date": "2011/09/14", "day": "Wednesday", "daycount": "J+456", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40801.0, "date": "2011/09/15", "day": "Thursday", "daycount": "J+457", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40802.0, "date": "2011/09/16", "day": "Friday", "daycount": "J+458", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40803.0, "date": "2011/09/17", "day": "Saturday", "daycount": "J+459", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40804.0, "date": "2011/09/18", "day": "Sunday", "daycount": "J+460", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40805.0, "date": "2011/09/19", "day": "Monday", "daycount": "J+461", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40806.0, "date": "2011/09/20", "day": "Tuesday", "daycount": "J+462", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40807.0, "date": "2011/09/21", "day": "Wednesday", "daycount": "J+463", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40808.0, "date": "2011/09/22", "day": "Thursday", "daycount": "J+464", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40809.0, "date": "2011/09/23", "day": "Friday", "daycount": "J+465", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40810.0, "date": "2011/09/24", "day": "Saturday", "daycount": "J+466", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40811.0, "date": "2011/09/25", "day": "Sunday", "daycount": "J+467", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40812.0, "date": "2011/09/26", "day": "Monday", "daycount": "J+468", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40813.0, "date": "2011/09/27", "day": "Tuesday", "daycount": "J+469", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40814.0, "date": "2011/09/28", "day": "Wednesday", "daycount": "J+470", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40815.0, "date": "2011/09/29", "day": "Thursday", "daycount": "J+471", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40816.0, "date": "2011/09/30", "day": "Friday", "daycount": "J+472", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40817.0, "date": "2011/10/01", "day": "Saturday", "daycount": "J+473", "starttime": "08:00:00", "endtime": "12:00:00", "text": "SODISM: Improved MES (stellar) mode New images sequence", "data": 0.0}, {"daynum": 40818.0, "date": "2011/10/02", "day": "Sunday", "daycount": "J+474", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40819.0, "date": "2011/10/03", "day": "Monday", "daycount": "J+475", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40820.0, "date": "2011/10/04", "day": "Tuesday", "daycount": "J+476", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40821.0, "date": "2011/10/05", "day": "Wednesday", "daycount": "J+477", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40822.0, "date": "2011/10/06", "day": "Thursday", "daycount": "J+478", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40823.0, "date": "2011/10/07", "day": "Friday", "daycount": "J+479", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40824.0, "date": "2011/10/08", "day": "Saturday", "daycount": "J+480", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40825.0, "date": "2011/10/09", "day": "Sunday", "daycount": "J+481", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40826.0, "date": "2011/10/10", "day": "Monday", "daycount": "J+482", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40827.0, "date": "2011/10/11", "day": "Tuesday", "daycount": "J+483", "starttime": "00:00:00", "endtime": "05:00:00", "text": "SODISM: Configuration Restoration", "data": 0.0}, {"daynum": 40828.0, "date": "2011/10/12", "day": "Wednesday", "daycount": "J+484", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40829.0, "date": "2011/10/13", "day": "Thursday", "daycount": "J+485", "starttime": "00:00:00", "endtime": "05:00:00", "text": "SODISM: Configuration Restoration", "data": 0.0}, {"daynum": 40830.0, "date": "2011/10/14", "day": "Friday", "daycount": "J+486", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40831.0, "date": "2011/10/15", "day": "Saturday", "daycount": "J+487", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40832.0, "date": "2011/10/16", "day": "Sunday", "daycount": "J+488", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40833.0, "date": "2011/10/17", "day": "Monday", "daycount": "J+489", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40834.0, "date": "2011/10/18", "day": "Tuesday", "daycount": "J+490", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40835.0, "date": "2011/10/19", "day": "Wednesday", "daycount": "J+491", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40836.0, "date": "2011/10/20", "day": "Thursday", "daycount": "J+492", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40837.0, "date": "2011/10/21", "day": "Friday", "daycount": "J+493", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40838.0, "date": "2011/10/22", "day": "Saturday", "daycount": "J+494", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40839.0, "date": "2011/10/23", "day": "Sunday", "daycount": "J+495", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40840.0, "date": "2011/10/24", "day": "Monday", "daycount": "J+496", "starttime": "08:00:00", "endtime": "12:00:00", "text": "SODISM: Improved MES (stellar) mode New images sequence II", "data": 0.0}, {"daynum": 40841.0, "date": "2011/10/25", "day": "Tuesday", "daycount": "J+497", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40842.0, "date": "2011/10/26", "day": "Wednesday", "daycount": "J+498", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40843.0, "date": "2011/10/27", "day": "Thursday", "daycount": "J+499", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535, DL images)", "data": 0.0}, {"daynum": 40844.0, "date": "2011/10/28", "day": "Friday", "daycount": "J+500", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535, DL images)", "data": 0.0}, {"daynum": 40845.0, "date": "2011/10/29", "day": "Saturday", "daycount": "J+501", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40846.0, "date": "2011/10/30", "day": "Sunday", "daycount": "J+502", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40847.0, "date": "2011/10/31", "day": "Monday", "daycount": "J+503", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40848.0, "date": "2011/11/01", "day": "Tuesday", "daycount": "J+504", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40849.0, "date": "2011/11/02", "day": "Wednesday", "daycount": "J+505", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40850.0, "date": "2011/11/03", "day": "Thursday", "daycount": "J+506", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40851.0, "date": "2011/11/04", "day": "Friday", "daycount": "J+507", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40852.0, "date": "2011/11/05", "day": "Saturday", "daycount": "J+508", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40853.0, "date": "2011/11/06", "day": "Sunday", "daycount": "J+509", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40854.0, "date": "2011/11/07", "day": "Monday", "daycount": "J+510", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40855.0, "date": "2011/11/08", "day": "Tuesday", "daycount": "J+511", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40856.0, "date": "2011/11/09", "day": "Wednesday", "daycount": "J+512", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40857.0, "date": "2011/11/10", "day": "Thursday", "daycount": "J+513", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40858.0, "date": "2011/11/11", "day": "Friday", "daycount": "J+514", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40859.0, "date": "2011/11/12", "day": "Saturday", "daycount": "J+515", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40860.0, "date": "2011/11/13", "day": "Sunday", "daycount": "J+516", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40861.0, "date": "2011/11/14", "day": "Monday", "daycount": "J+517", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40862.0, "date": "2011/11/15", "day": "Tuesday", "daycount": "J+518", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40863.0, "date": "2011/11/16", "day": "Wednesday", "daycount": "J+519", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40864.0, "date": "2011/11/17", "day": "Thursday", "daycount": "J+520", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40865.0, "date": "2011/11/18", "day": "Friday", "daycount": "J+521", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40866.0, "date": "2011/11/19", "day": "Saturday", "daycount": "J+522", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40867.0, "date": "2011/11/20", "day": "Sunday", "daycount": "J+523", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40868.0, "date": "2011/11/21", "day": "Monday", "daycount": "J+524", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40869.0, "date": "2011/11/22", "day": "Tuesday", "daycount": "J+525", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40870.0, "date": "2011/11/23", "day": "Wednesday", "daycount": "J+526", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40871.0, "date": "2011/11/24", "day": "Thursday", "daycount": "J+527", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40873.0, "date": "2011/11/26", "day": "Saturday", "daycount": "J+529", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40874.0, "date": "2011/11/27", "day": "Sunday", "daycount": "J+530", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40875.0, "date": "2011/11/28", "day": "Monday", "daycount": "J+531", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40876.0, "date": "2011/11/29", "day": "Tuesday", "daycount": "J+532", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40877.0, "date": "2011/11/30", "day": "Wednesday", "daycount": "J+533", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40878.0, "date": "2011/12/01", "day": "Thursday", "daycount": "J+534", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40879.0, "date": "2011/12/02", "day": "Friday", "daycount": "J+535", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40880.0, "date": "2011/12/03", "day": "Saturday", "daycount": "J+536", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40881.0, "date": "2011/12/04", "day": "Sunday", "daycount": "J+537", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40882.0, "date": "2011/12/05", "day": "Monday", "daycount": "J+538", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40883.0, "date": "2011/12/06", "day": "Tuesday", "daycount": "J+539", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40884.0, "date": "2011/12/07", "day": "Wednesday", "daycount": "J+540", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40885.0, "date": "2011/12/08", "day": "Thursday", "daycount": "J+541", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40886.0, "date": "2011/12/09", "day": "Friday", "daycount": "J+542", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40887.0, "date": "2011/12/10", "day": "Saturday", "daycount": "J+543", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40888.0, "date": "2011/12/11", "day": "Sunday", "daycount": "J+544", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40889.0, "date": "2011/12/12", "day": "Monday", "daycount": "J+545", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40890.0, "date": "2011/12/13", "day": "Tuesday", "daycount": "J+546", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40891.0, "date": "2011/12/14", "day": "Wednesday", "daycount": "J+547", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40892.0, "date": "2011/12/15", "day": "Thursday", "daycount": "J+548", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40893.0, "date": "2011/12/16", "day": "Friday", "daycount": "J+549", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40894.0, "date": "2011/12/17", "day": "Saturday", "daycount": "J+550", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40895.0, "date": "2011/12/18", "day": "Sunday", "daycount": "J+551", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40896.0, "date": "2011/12/19", "day": "Monday", "daycount": "J+552", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40897.0, "date": "2011/12/20", "day": "Tuesday", "daycount": "J+553", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40898.0, "date": "2011/12/21", "day": "Wednesday", "daycount": "J+554", "starttime": "00:00:00", "endtime": "15:00:00", "text": "SODISM: MNO Procedure", "data": 0.0}, {"daynum": 40899.0, "date": "2011/12/22", "day": "Thursday", "daycount": "J+555", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40900.0, "date": "2011/12/23", "day": "Friday", "daycount": "J+556", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40901.0, "date": "2011/12/24", "day": "Saturday", "daycount": "J+557", "starttime": "00:00:00", "endtime": "08:00:00", "text": "SODISM: Variation exposure time 535D", "data": 0.0}, {"daynum": 40902.0, "date": "2011/12/25", "day": "Sunday", "daycount": "J+558", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40903.0, "date": "2011/12/26", "day": "Monday", "daycount": "J+559", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40904.0, "date": "2011/12/27", "day": "Tuesday", "daycount": "J+560", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40905.0, "date": "2011/12/28", "day": "Wednesday", "daycount": "J+561", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40906.0, "date": "2011/12/29", "day": "Thursday", "daycount": "J+562", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40907.0, "date": "2011/12/30", "day": "Friday", "daycount": "J+563", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40908.0, "date": "2011/12/31", "day": "Saturday", "daycount": "J+564", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40909.0, "date": "2012/01/01", "day": "Sunday", "daycount": "J+565", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40910.0, "date": "2012/01/02", "day": "Monday", "daycount": "J+566", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40911.0, "date": "2012/01/03", "day": "Tuesday", "daycount": "J+567", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40912.0, "date": "2012/01/04", "day": "Wednesday", "daycount": "J+568", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40913.0, "date": "2012/01/05", "day": "Thursday", "daycount": "J+569", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40914.0, "date": "2012/01/06", "day": "Friday", "daycount": "J+570", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40915.0, "date": "2012/01/07", "day": "Saturday", "daycount": "J+571", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40916.0, "date": "2012/01/08", "day": "Sunday", "daycount": "J+572", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40917.0, "date": "2012/01/09", "day": "Monday", "daycount": "J+573", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40918.0, "date": "2012/01/10", "day": "Tuesday", "daycount": "J+574", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40919.0, "date": "2012/01/11", "day": "Wednesday", "daycount": "J+575", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40920.0, "date": "2012/01/12", "day": "Thursday", "daycount": "J+576", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40921.0, "date": "2012/01/13", "day": "Friday", "daycount": "J+577", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40922.0, "date": "2012/01/14", "day": "Saturday", "daycount": "J+578", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40923.0, "date": "2012/01/15", "day": "Sunday", "daycount": "J+579", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40924.0, "date": "2012/01/16", "day": "Monday", "daycount": "J+580", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40925.0, "date": "2012/01/17", "day": "Tuesday", "daycount": "J+581", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40926.0, "date": "2012/01/18", "day": "Wednesday", "daycount": "J+582", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40927.0, "date": "2012/01/19", "day": "Thursday", "daycount": "J+583", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40928.0, "date": "2012/01/20", "day": "Friday", "daycount": "J+584", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40929.0, "date": "2012/01/21", "day": "Saturday", "daycount": "J+585", "starttime": "02:00:00", "endtime": "12:00:00", "text": "SODISM: Orbit variability 6 lambdas eclipse", "data": 0.0}, {"daynum": 40930.0, "date": "2012/01/22", "day": "Sunday", "daycount": "J+586", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40931.0, "date": "2012/01/23", "day": "Monday", "daycount": "J+587", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40932.0, "date": "2012/01/24", "day": "Tuesday", "daycount": "J+588", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40933.0, "date": "2012/01/25", "day": "Wednesday", "daycount": "J+589", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40934.0, "date": "2012/01/26", "day": "Thursday", "daycount": "J+590", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40935.0, "date": "2012/01/27", "day": "Friday", "daycount": "J+591", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40936.0, "date": "2012/01/28", "day": "Saturday", "daycount": "J+592", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40937.0, "date": "2012/01/29", "day": "Sunday", "daycount": "J+593", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40938.0, "date": "2012/01/30", "day": "Monday", "daycount": "J+594", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40939.0, "date": "2012/01/31", "day": "Tuesday", "daycount": "J+595", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40940.0, "date": "2012/02/01", "day": "Wednesday", "daycount": "J+596", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40941.0, "date": "2012/02/02", "day": "Thursday", "daycount": "J+597", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40942.0, "date": "2012/02/03", "day": "Friday", "daycount": "J+598", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40943.0, "date": "2012/02/04", "day": "Saturday", "daycount": "J+599", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40944.0, "date": "2012/02/05", "day": "Sunday", "daycount": "J+600", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40945.0, "date": "2012/02/06", "day": "Monday", "daycount": "J+601", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40946.0, "date": "2012/02/07", "day": "Tuesday", "daycount": "J+602", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40947.0, "date": "2012/02/08", "day": "Wednesday", "daycount": "J+603", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40948.0, "date": "2012/02/09", "day": "Thursday", "daycount": "J+604", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40949.0, "date": "2012/02/10", "day": "Friday", "daycount": "J+605", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with two consecutive sequences (wavelength ==> 535D and 535H nm)", "data": 0.0}, {"daynum": 40950.0, "date": "2012/02/11", "day": "Saturday", "daycount": "J+606", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with two consecutive sequences (wavelength ==> 535D and 535H nm)", "data": 0.0}, {"daynum": 40951.0, "date": "2012/02/12", "day": "Sunday", "daycount": "J+607", "starttime": "00:00:00", "endtime": "05:00:00", "text": "SODISM: MDO with two consecutive sequences (wavelength ==> 535D and 535H nm)", "data": 0.0}, {"daynum": 40952.0, "date": "2012/02/13", "day": "Monday", "daycount": "J+608", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40953.0, "date": "2012/02/14", "day": "Tuesday", "daycount": "J+609", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM:Remanence HL \u2013 CO", "data": 0.0}, {"daynum": 40954.0, "date": "2012/02/15", "day": "Wednesday", "daycount": "J+610", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM:Remanence HL \u2013 CO", "data": 0.0}, {"daynum": 40955.0, "date": "2012/02/16", "day": "Thursday", "daycount": "J+611", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM:Remanence HL \u2013 CO", "data": 0.0}, {"daynum": 40956.0, "date": "2012/02/17", "day": "Friday", "daycount": "J+612", "starttime": "00:00:00", "endtime": "14:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 215nm", "data": 0.0}, {"daynum": 40956.0, "date": "2012/02/17", "day": "Friday", "daycount": "J+612", "starttime": "16:00:00", "endtime": "24:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 393nm", "data": 0.0}, {"daynum": 40957.0, "date": "2012/02/18", "day": "Saturday", "daycount": "J+613", "starttime": "00:00:00", "endtime": "09:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 393nm", "data": 0.0}, {"daynum": 40957.0, "date": "2012/02/18", "day": "Saturday", "daycount": "J+613", "starttime": "10:00:00", "endtime": "24:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 535nm", "data": 0.0}, {"daynum": 40958.0, "date": "2012/02/19", "day": "Sunday", "daycount": "J+614", "starttime": "00:00:00", "endtime": "15:00:00", "text": "SODISM M1 offset X and Y Calibration Lambda: 607nm", "data": 0.0}, {"daynum": 40958.0, "date": "2012/02/19", "day": "Sunday", "daycount": "J+614", "starttime": "16:00:00", "endtime": "24:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 782nm", "data": 0.0}, {"daynum": 40959.0, "date": "2012/02/20", "day": "Monday", "daycount": "J+615", "starttime": "00:00:00", "endtime": "08:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 782nm", "data": 0.0}, {"daynum": 40959.0, "date": "2012/02/20", "day": "Monday", "daycount": "J+615", "starttime": "08:00:00", "endtime": "24:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: H\u00e9lio", "data": 0.0}, {"daynum": 40960.0, "date": "2012/02/21", "day": "Tuesday", "daycount": "J+616", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40961.0, "date": "2012/02/22", "day": "Wednesday", "daycount": "J+617", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM:Remanence 535HL- 2CO", "data": 0.0}, {"daynum": 40962.0, "date": "2012/02/23", "day": "Thursday", "daycount": "J+618", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM:Remanence 535HL- 2CO", "data": 0.0}, {"daynum": 40963.0, "date": "2012/02/24", "day": "Friday", "daycount": "J+619", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM:Remanence 535HL- 2CO", "data": 0.0}, {"daynum": 40964.0, "date": "2012/02/25", "day": "Saturday", "daycount": "J+620", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40965.0, "date": "2012/02/26", "day": "Sunday", "daycount": "J+621", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40966.0, "date": "2012/02/27", "day": "Monday", "daycount": "J+622", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40967.0, "date": "2012/02/28", "day": "Tuesday", "daycount": "J+623", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40968.0, "date": "2012/02/29", "day": "Wednesday", "daycount": "J+624", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40969.0, "date": "2012/03/01", "day": "Thursday", "daycount": "J+625", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40970.0, "date": "2012/03/02", "day": "Friday", "daycount": "J+626", "starttime": "00:00:00", "endtime": "18:00:00", "text": "SODISM Variation exposure time 607 control ON/OFF", "data": 0.0}, {"daynum": 40971.0, "date": "2012/03/03", "day": "Saturday", "daycount": "J+627", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40972.0, "date": "2012/03/04", "day": "Sunday", "daycount": "J+628", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with two consecutive sequences (wavelength ==> 535 DL nm)", "data": 0.0}, {"daynum": 40973.0, "date": "2012/03/05", "day": "Monday", "daycount": "J+629", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with two consecutive sequences (wavelength ==> 535 DL nm)", "data": 0.0}, {"daynum": 40974.0, "date": "2012/03/06", "day": "Tuesday", "daycount": "J+630", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40975.0, "date": "2012/03/07", "day": "Wednesday", "daycount": "J+631", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40976.0, "date": "2012/03/08", "day": "Thursday", "daycount": "J+632", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40977.0, "date": "2012/03/09", "day": "Friday", "daycount": "J+633", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40978.0, "date": "2012/03/10", "day": "Saturday", "daycount": "J+634", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40979.0, "date": "2012/03/11", "day": "Sunday", "daycount": "J+635", "starttime": "10:00:00", "endtime": "24:00:00", "text": "SODISM: MNO Procedure n\u00b02", "data": 0.0}, {"daynum": 40980.0, "date": "2012/03/12", "day": "Monday", "daycount": "J+636", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40981.0, "date": "2012/03/13", "day": "Tuesday", "daycount": "J+637", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40982.0, "date": "2012/03/14", "day": "Wednesday", "daycount": "J+638", "starttime": "04:00:00", "endtime": "08:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 215 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40983.0, "date": "2012/03/15", "day": "Thursday", "daycount": "J+639", "starttime": "04:00:00", "endtime": "08:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 393 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40984.0, "date": "2012/03/16", "day": "Friday", "daycount": "J+640", "starttime": "04:00:00", "endtime": "08:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 535 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40985.0, "date": "2012/03/17", "day": "Saturday", "daycount": "J+641", "starttime": "04:00:00", "endtime": "08:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 607 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40986.0, "date": "2012/03/18", "day": "Sunday", "daycount": "J+642", "starttime": "04:00:00", "endtime": "08:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 782 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40987.0, "date": "2012/03/19", "day": "Monday", "daycount": "J+643", "starttime": "04:00:00", "endtime": "08:00:00", "text": "SODISM M1 Flatfield With full images Lambda: Helio (Mask 70 & 70)", "data": 0.0}, {"daynum": 40988.0, "date": "2012/03/20", "day": "Tuesday", "daycount": "J+644", "starttime": "04:00:00", "endtime": "08:00:00", "text": "SODISM M1 Flatfield With full images Lambda: 215 nm (Mask 70 & 70)", "data": 0.0}, {"daynum": 40989.0, "date": "2012/03/21", "day": "Wednesday", "daycount": "J+645", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40990.0, "date": "2012/03/22", "day": "Thursday", "daycount": "J+646", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40991.0, "date": "2012/03/23", "day": "Friday", "daycount": "J+647", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40992.0, "date": "2012/03/24", "day": "Saturday", "daycount": "J+648", "starttime": "08:00:00", "endtime": "12:00:00", "text": "SODISM: Improved MES (stellar) mode New images sequence 2B", "data": 0.0}, {"daynum": 40993.0, "date": "2012/03/25", "day": "Sunday", "daycount": "J+649", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40994.0, "date": "2012/03/26", "day": "Monday", "daycount": "J+650", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40995.0, "date": "2012/03/27", "day": "Tuesday", "daycount": "J+651", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40996.0, "date": "2012/03/28", "day": "Wednesday", "daycount": "J+652", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40997.0, "date": "2012/03/29", "day": "Thursday", "daycount": "J+653", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40998.0, "date": "2012/03/30", "day": "Friday", "daycount": "J+654", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 40999.0, "date": "2012/03/31", "day": "Saturday", "daycount": "J+655", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41000.0, "date": "2012/04/01", "day": "Sunday", "daycount": "J+656", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41001.0, "date": "2012/04/02", "day": "Monday", "daycount": "J+657", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41002.0, "date": "2012/04/03", "day": "Tuesday", "daycount": "J+658", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41003.0, "date": "2012/04/04", "day": "Wednesday", "daycount": "J+659", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41004.0, "date": "2012/04/05", "day": "Thursday", "daycount": "J+660", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41005.0, "date": "2012/04/06", "day": "Friday", "daycount": "J+661", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41006.0, "date": "2012/04/07", "day": "Saturday", "daycount": "J+662", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41007.0, "date": "2012/04/08", "day": "Sunday", "daycount": "J+663", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41008.0, "date": "2012/04/09", "day": "Monday", "daycount": "J+664", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41009.0, "date": "2012/04/10", "day": "Tuesday", "daycount": "J+665", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41010.0, "date": "2012/04/11", "day": "Wednesday", "daycount": "J+666", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41011.0, "date": "2012/04/12", "day": "Thursday", "daycount": "J+667", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41012.0, "date": "2012/04/13", "day": "Friday", "daycount": "J+668", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41013.0, "date": "2012/04/14", "day": "Saturday", "daycount": "J+669", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41014.0, "date": "2012/04/15", "day": "Sunday", "daycount": "J+670", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41015.0, "date": "2012/04/16", "day": "Monday", "daycount": "J+671", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Sequence of specific helioseismology measurements", "data": 0.0}, {"daynum": 41016.0, "date": "2012/04/17", "day": "Tuesday", "daycount": "J+672", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Sequence of specific helioseismology measurements", "data": 0.0}, {"daynum": 41017.0, "date": "2012/04/18", "day": "Wednesday", "daycount": "J+673", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Sequence of specific helioseismology measurements", "data": 0.0}, {"daynum": 41018.0, "date": "2012/04/19", "day": "Thursday", "daycount": "J+674", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41019.0, "date": "2012/04/20", "day": "Friday", "daycount": "J+675", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41020.0, "date": "2012/04/21", "day": "Saturday", "daycount": "J+676", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41021.0, "date": "2012/04/22", "day": "Sunday", "daycount": "J+677", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41022.0, "date": "2012/04/23", "day": "Monday", "daycount": "J+678", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41023.0, "date": "2012/04/24", "day": "Tuesday", "daycount": "J+679", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41024.0, "date": "2012/04/25", "day": "Wednesday", "daycount": "J+680", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41025.0, "date": "2012/04/26", "day": "Thursday", "daycount": "J+681", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41026.0, "date": "2012/04/27", "day": "Friday", "daycount": "J+682", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41027.0, "date": "2012/04/28", "day": "Saturday", "daycount": "J+683", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41028.0, "date": "2012/04/29", "day": "Sunday", "daycount": "J+684", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41029.0, "date": "2012/04/30", "day": "Monday", "daycount": "J+685", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41030.0, "date": "2012/05/01", "day": "Tuesday", "daycount": "J+686", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41031.0, "date": "2012/05/02", "day": "Wednesday", "daycount": "J+687", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41032.0, "date": "2012/05/03", "day": "Thursday", "daycount": "J+688", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with two consecutive sequences (wavelength ==> 535 DL nm)", "data": 0.0}, {"daynum": 41033.0, "date": "2012/05/04", "day": "Friday", "daycount": "J+689", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with two consecutive sequences (wavelength ==> 535 DL nm)", "data": 0.0}, {"daynum": 41034.0, "date": "2012/05/05", "day": "Saturday", "daycount": "J+690", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41035.0, "date": "2012/05/06", "day": "Sunday", "daycount": "J+691", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41036.0, "date": "2012/05/07", "day": "Monday", "daycount": "J+692", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41037.0, "date": "2012/05/08", "day": "Tuesday", "daycount": "J+693", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41038.0, "date": "2012/05/09", "day": "Wednesday", "daycount": "J+694", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41039.0, "date": "2012/05/10", "day": "Thursday", "daycount": "J+695", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41040.0, "date": "2012/05/11", "day": "Friday", "daycount": "J+696", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41041.0, "date": "2012/05/12", "day": "Saturday", "daycount": "J+697", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41042.0, "date": "2012/05/13", "day": "Sunday", "daycount": "J+698", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41043.0, "date": "2012/05/14", "day": "Monday", "daycount": "J+699", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41044.0, "date": "2012/05/15", "day": "Tuesday", "daycount": "J+700", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with two consecutive sequences (wavelength ==> 535 DL nm)", "data": 0.0}, {"daynum": 41045.0, "date": "2012/05/16", "day": "Wednesday", "daycount": "J+701", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with two consecutive sequences (wavelength ==> 535 DL nm)", "data": 0.0}, {"daynum": 41046.0, "date": "2012/05/17", "day": "Thursday", "daycount": "J+702", "starttime": "00:00:00", "endtime": "15:00:00", "text": "SODISM: MDO with two consecutive sequences (wavelength ==> 535 DL nm)", "data": 0.0}, {"daynum": 41046.0, "date": "2012/05/17", "day": "Thursday", "daycount": "J+702", "starttime": "19:00:00", "endtime": "24:00:00", "text": "SODISM: Stroke rate max 1 min.", "data": 0.0}, {"daynum": 41047.0, "date": "2012/05/18", "day": "Friday", "daycount": "J+703", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Stroke rate max 1 min.", "data": 0.0}, {"daynum": 41048.0, "date": "2012/05/19", "day": "Saturday", "daycount": "J+704", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Stroke rate max 1 min.", "data": 0.0}, {"daynum": 41049.0, "date": "2012/05/20", "day": "Sunday", "daycount": "J+705", "starttime": "00:00:00", "endtime": "16:00:00", "text": "SODISM: Stroke rate max 1 min.", "data": 0.0}, {"daynum": 41050.0, "date": "2012/05/21", "day": "Monday", "daycount": "J+706", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 0.0}, {"daynum": 41051.0, "date": "2012/05/22", "day": "Tuesday", "daycount": "J+707", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 0.0}, {"daynum": 41052.0, "date": "2012/05/23", "day": "Wednesday", "daycount": "J+708", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 0.0}, {"daynum": 41053.0, "date": "2012/05/24", "day": "Thursday", "daycount": "J+709", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 0.0}, {"daynum": 41054.0, "date": "2012/05/25", "day": "Friday", "daycount": "J+710", "starttime": "00:00:00", "endtime": "05:00:00", "text": "SODISM: Configuration Restoration", "data": 0.0}, {"daynum": 41054.0, "date": "2012/05/25", "day": "Friday", "daycount": "J+710", "starttime": "05:00:00", "endtime": "09:00:00", "text": "PREMOS: Science mode", "data": 0.0}, {"daynum": 41055.0, "date": "2012/05/26", "day": "Saturday", "daycount": "J+711", "starttime": "22:00:00", "endtime": "24:00:00", "text": "SODISM: Transit of Venus", "data": 0.0}, {"daynum": 41056.0, "date": "2012/05/27", "day": "Sunday", "daycount": "J+712", "starttime": "00:00:00", "endtime": "06:00:00", "text": "SODISM: Transit of Venus", "data": 0.0}, {"daynum": 41057.0, "date": "2012/05/28", "day": "Monday", "daycount": "J+713", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41058.0, "date": "2012/05/29", "day": "Tuesday", "daycount": "J+714", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41059.0, "date": "2012/05/30", "day": "Wednesday", "daycount": "J+715", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41060.0, "date": "2012/05/31", "day": "Thursday", "daycount": "J+716", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41061.0, "date": "2012/06/01", "day": "Friday", "daycount": "J+717", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41062.0, "date": "2012/06/02", "day": "Saturday", "daycount": "J+718", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41063.0, "date": "2012/06/03", "day": "Sunday", "daycount": "J+719", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41067.0, "date": "2012/06/07", "day": "Thursday", "daycount": "J+723", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41068.0, "date": "2012/06/08", "day": "Friday", "daycount": "J+724", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41069.0, "date": "2012/06/09", "day": "Saturday", "daycount": "J+725", "starttime": "02:00:00", "endtime": "04:00:00", "text": "PREMOS: Science mode", "data": 0.0}, {"daynum": 41070.0, "date": "2012/06/10", "day": "Sunday", "daycount": "J+726", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41071.0, "date": "2012/06/11", "day": "Monday", "daycount": "J+727", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41072.0, "date": "2012/06/12", "day": "Tuesday", "daycount": "J+728", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41073.0, "date": "2012/06/13", "day": "Wednesday", "daycount": "J+729", "starttime": "12:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41074.0, "date": "2012/06/14", "day": "Thursday", "daycount": "J+730", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41075.0, "date": "2012/06/15", "day": "Friday", "daycount": "J+731", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41076.0, "date": "2012/06/16", "day": "Saturday", "daycount": "J+732", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41077.0, "date": "2012/06/17", "day": "Sunday", "daycount": "J+733", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41078.0, "date": "2012/06/18", "day": "Monday", "daycount": "J+734", "starttime": "00:00:00", "endtime": "15:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41079.0, "date": "2012/06/19", "day": "Tuesday", "daycount": "J+735", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41080.0, "date": "2012/06/20", "day": "Wednesday", "daycount": "J+736", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41081.0, "date": "2012/06/21", "day": "Thursday", "daycount": "J+737", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41082.0, "date": "2012/06/22", "day": "Friday", "daycount": "J+738", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41083.0, "date": "2012/06/23", "day": "Saturday", "daycount": "J+739", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41084.0, "date": "2012/06/24", "day": "Sunday", "daycount": "J+740", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41085.0, "date": "2012/06/25", "day": "Monday", "daycount": "J+741", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41086.0, "date": "2012/06/26", "day": "Tuesday", "daycount": "J+742", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41087.0, "date": "2012/06/27", "day": "Wednesday", "daycount": "J+743", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41088.0, "date": "2012/06/28", "day": "Thursday", "daycount": "J+744", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41089.0, "date": "2012/06/29", "day": "Friday", "daycount": "J+745", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41090.0, "date": "2012/06/30", "day": "Saturday", "daycount": "J+746", "starttime": "02:00:00", "endtime": "04:00:00", "text": "PREMOS: Science mode", "data": 0.0}, {"daynum": 41091.0, "date": "2012/07/01", "day": "Sunday", "daycount": "J+747", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41092.0, "date": "2012/07/02", "day": "Monday", "daycount": "J+748", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41093.0, "date": "2012/07/03", "day": "Tuesday", "daycount": "J+749", "starttime": "00:00:00", "endtime": "02:00:00", "text": "PREMOS: Dark current all filter radiometers", "data": 0.0}, {"daynum": 41094.0, "date": "2012/07/04", "day": "Wednesday", "daycount": "J+750", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535, DL images)", "data": 0.0}, {"daynum": 41095.0, "date": "2012/07/05", "day": "Thursday", "daycount": "J+751", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535, DL images)", "data": 0.0}, {"daynum": 41096.0, "date": "2012/07/06", "day": "Friday", "daycount": "J+752", "starttime": "00:00:00", "endtime": "03:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535, DL images)", "data": 0.0}, {"daynum": 41097.0, "date": "2012/07/07", "day": "Saturday", "daycount": "J+753", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41098.0, "date": "2012/07/08", "day": "Sunday", "daycount": "J+754", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41099.0, "date": "2012/07/09", "day": "Monday", "daycount": "J+755", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41100.0, "date": "2012/07/10", "day": "Tuesday", "daycount": "J+756", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41101.0, "date": "2012/07/11", "day": "Wednesday", "daycount": "J+757", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41102.0, "date": "2012/07/12", "day": "Thursday", "daycount": "J+758", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41103.0, "date": "2012/07/13", "day": "Friday", "daycount": "J+759", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41104.0, "date": "2012/07/14", "day": "Saturday", "daycount": "J+760", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41105.0, "date": "2012/07/15", "day": "Sunday", "daycount": "J+761", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41106.0, "date": "2012/07/16", "day": "Monday", "daycount": "J+762", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41107.0, "date": "2012/07/17", "day": "Tuesday", "daycount": "J+763", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41108.0, "date": "2012/07/18", "day": "Wednesday", "daycount": "J+764", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41109.0, "date": "2012/07/19", "day": "Thursday", "daycount": "J+765", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41110.0, "date": "2012/07/20", "day": "Friday", "daycount": "J+766", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41111.0, "date": "2012/07/21", "day": "Saturday", "daycount": "J+767", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41112.0, "date": "2012/07/22", "day": "Sunday", "daycount": "J+768", "starttime": "08:00:00", "endtime": "12:00:00", "text": "SODISM: Improved MES (stellar) mode New images sequence II", "data": 0.0}, {"daynum": 41113.0, "date": "2012/07/23", "day": "Monday", "daycount": "J+769", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41114.0, "date": "2012/07/24", "day": "Tuesday", "daycount": "J+770", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41115.0, "date": "2012/07/25", "day": "Wednesday", "daycount": "J+771", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41116.0, "date": "2012/07/26", "day": "Thursday", "daycount": "J+772", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41117.0, "date": "2012/07/27", "day": "Friday", "daycount": "J+773", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41118.0, "date": "2012/07/28", "day": "Saturday", "daycount": "J+774", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41119.0, "date": "2012/07/29", "day": "Sunday", "daycount": "J+775", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41120.0, "date": "2012/07/30", "day": "Monday", "daycount": "J+776", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41121.0, "date": "2012/07/31", "day": "Tuesday", "daycount": "J+777", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41122.0, "date": "2012/08/01", "day": "Wednesday", "daycount": "J+778", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41123.0, "date": "2012/08/02", "day": "Thursday", "daycount": "J+779", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41124.0, "date": "2012/08/03", "day": "Friday", "daycount": "J+780", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41125.0, "date": "2012/08/04", "day": "Saturday", "daycount": "J+781", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41126.0, "date": "2012/08/05", "day": "Sunday", "daycount": "J+782", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41127.0, "date": "2012/08/06", "day": "Monday", "daycount": "J+783", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41128.0, "date": "2012/08/07", "day": "Tuesday", "daycount": "J+784", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41129.0, "date": "2012/08/08", "day": "Wednesday", "daycount": "J+785", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41130.0, "date": "2012/08/09", "day": "Thursday", "daycount": "J+786", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41131.0, "date": "2012/08/10", "day": "Friday", "daycount": "J+787", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41132.0, "date": "2012/08/11", "day": "Saturday", "daycount": "J+788", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41133.0, "date": "2012/08/12", "day": "Sunday", "daycount": "J+789", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41134.0, "date": "2012/08/13", "day": "Monday", "daycount": "J+790", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41135.0, "date": "2012/08/14", "day": "Tuesday", "daycount": "J+791", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41136.0, "date": "2012/08/15", "day": "Wednesday", "daycount": "J+792", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41137.0, "date": "2012/08/16", "day": "Thursday", "daycount": "J+793", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41138.0, "date": "2012/08/17", "day": "Friday", "daycount": "J+794", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41139.0, "date": "2012/08/18", "day": "Saturday", "daycount": "J+795", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 607, DL images)", "data": 0.0}, {"daynum": 41140.0, "date": "2012/08/19", "day": "Sunday", "daycount": "J+796", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 607, DL images)", "data": 0.0}, {"daynum": 41141.0, "date": "2012/08/20", "day": "Monday", "daycount": "J+797", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41142.0, "date": "2012/08/21", "day": "Tuesday", "daycount": "J+798", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41143.0, "date": "2012/08/22", "day": "Wednesday", "daycount": "J+799", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41144.0, "date": "2012/08/23", "day": "Thursday", "daycount": "J+800", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41145.0, "date": "2012/08/24", "day": "Friday", "daycount": "J+801", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41146.0, "date": "2012/08/25", "day": "Saturday", "daycount": "J+802", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41147.0, "date": "2012/08/26", "day": "Sunday", "daycount": "J+803", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41148.0, "date": "2012/08/27", "day": "Monday", "daycount": "J+804", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41149.0, "date": "2012/08/28", "day": "Tuesday", "daycount": "J+805", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41150.0, "date": "2012/08/29", "day": "Wednesday", "daycount": "J+806", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41151.0, "date": "2012/08/30", "day": "Thursday", "daycount": "J+807", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41152.0, "date": "2012/08/31", "day": "Friday", "daycount": "J+808", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41153.0, "date": "2012/09/01", "day": "Saturday", "daycount": "J+809", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 607, DL images)", "data": 0.0}, {"daynum": 41154.0, "date": "2012/09/02", "day": "Sunday", "daycount": "J+810", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 607, DL images)", "data": 0.0}, {"daynum": 41155.0, "date": "2012/09/03", "day": "Monday", "daycount": "J+811", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41156.0, "date": "2012/09/04", "day": "Tuesday", "daycount": "J+812", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41157.0, "date": "2012/09/05", "day": "Wednesday", "daycount": "J+813", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41158.0, "date": "2012/09/06", "day": "Thursday", "daycount": "J+814", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41159.0, "date": "2012/09/07", "day": "Friday", "daycount": "J+815", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41160.0, "date": "2012/09/08", "day": "Saturday", "daycount": "J+816", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41161.0, "date": "2012/09/09", "day": "Sunday", "daycount": "J+817", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41162.0, "date": "2012/09/10", "day": "Monday", "daycount": "J+818", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41163.0, "date": "2012/09/11", "day": "Tuesday", "daycount": "J+819", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41164.0, "date": "2012/09/12", "day": "Wednesday", "daycount": "J+820", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41165.0, "date": "2012/09/13", "day": "Thursday", "daycount": "J+821", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41166.0, "date": "2012/09/14", "day": "Friday", "daycount": "J+822", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41167.0, "date": "2012/09/15", "day": "Saturday", "daycount": "J+823", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 607, DL images)", "data": 0.0}, {"daynum": 41168.0, "date": "2012/09/16", "day": "Sunday", "daycount": "J+824", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 607, DL images)", "data": 0.0}, {"daynum": 41169.0, "date": "2012/09/17", "day": "Monday", "daycount": "J+825", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41170.0, "date": "2012/09/18", "day": "Tuesday", "daycount": "J+826", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41171.0, "date": "2012/09/19", "day": "Wednesday", "daycount": "J+827", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41172.0, "date": "2012/09/20", "day": "Thursday", "daycount": "J+828", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41173.0, "date": "2012/09/21", "day": "Friday", "daycount": "J+829", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41174.0, "date": "2012/09/22", "day": "Saturday", "daycount": "J+830", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41175.0, "date": "2012/09/23", "day": "Sunday", "daycount": "J+831", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41176.0, "date": "2012/09/24", "day": "Monday", "daycount": "J+832", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41177.0, "date": "2012/09/25", "day": "Tuesday", "daycount": "J+833", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41178.0, "date": "2012/09/26", "day": "Wednesday", "daycount": "J+834", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41179.0, "date": "2012/09/27", "day": "Thursday", "daycount": "J+835", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41180.0, "date": "2012/09/28", "day": "Friday", "daycount": "J+836", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41181.0, "date": "2012/09/29", "day": "Saturday", "daycount": "J+837", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41182.0, "date": "2012/09/30", "day": "Sunday", "daycount": "J+838", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41183.0, "date": "2012/10/01", "day": "Monday", "daycount": "J+839", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41184.0, "date": "2012/10/02", "day": "Tuesday", "daycount": "J+840", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41185.0, "date": "2012/10/03", "day": "Wednesday", "daycount": "J+841", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41186.0, "date": "2012/10/04", "day": "Thursday", "daycount": "J+842", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41187.0, "date": "2012/10/05", "day": "Friday", "daycount": "J+843", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41188.0, "date": "2012/10/06", "day": "Saturday", "daycount": "J+844", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41189.0, "date": "2012/10/07", "day": "Sunday", "daycount": "J+845", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41190.0, "date": "2012/10/08", "day": "Monday", "daycount": "J+846", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41191.0, "date": "2012/10/09", "day": "Tuesday", "daycount": "J+847", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41192.0, "date": "2012/10/10", "day": "Wednesday", "daycount": "J+848", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41193.0, "date": "2012/10/11", "day": "Thursday", "daycount": "J+849", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41194.0, "date": "2012/10/12", "day": "Friday", "daycount": "J+850", "starttime": "00:00:00", "endtime": "05:00:00", "text": "SODISM: Configuration Restoration", "data": 0.0}, {"daynum": 41194.0, "date": "2012/10/12", "day": "Friday", "daycount": "J+850", "starttime": "05:00:00", "endtime": "07:00:00", "text": "PREMOS: Science mode", "data": 0.0}, {"daynum": 41194.0, "date": "2012/10/12", "day": "Friday", "daycount": "J+850", "starttime": "10:00:00", "endtime": "13:00:00", "text": "SODISM : Thermal configuration modification Table 005", "data": 0.0}, {"daynum": 41195.0, "date": "2012/10/13", "day": "Saturday", "daycount": "J+851", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41196.0, "date": "2012/10/14", "day": "Sunday", "daycount": "J+852", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41197.0, "date": "2012/10/15", "day": "Monday", "daycount": "J+853", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41198.0, "date": "2012/10/16", "day": "Tuesday", "daycount": "J+854", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41199.0, "date": "2012/10/17", "day": "Wednesday", "daycount": "J+855", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41200.0, "date": "2012/10/18", "day": "Thursday", "daycount": "J+856", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41201.0, "date": "2012/10/19", "day": "Friday", "daycount": "J+857", "starttime": "08:00:00", "endtime": "12:00:00", "text": "SODISM: Improved MES (stellar) mode New images sequence II", "data": 0.0}, {"daynum": 41202.0, "date": "2012/10/20", "day": "Saturday", "daycount": "J+858", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41203.0, "date": "2012/10/21", "day": "Sunday", "daycount": "J+859", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41204.0, "date": "2012/10/22", "day": "Monday", "daycount": "J+860", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41205.0, "date": "2012/10/23", "day": "Tuesday", "daycount": "J+861", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41206.0, "date": "2012/10/24", "day": "Wednesday", "daycount": "J+862", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41207.0, "date": "2012/10/25", "day": "Thursday", "daycount": "J+863", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41208.0, "date": "2012/10/26", "day": "Friday", "daycount": "J+864", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41209.0, "date": "2012/10/27", "day": "Saturday", "daycount": "J+865", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 607, DL images)", "data": 0.0}, {"daynum": 41210.0, "date": "2012/10/28", "day": "Sunday", "daycount": "J+866", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 607, DL images)", "data": 0.0}, {"daynum": 41211.0, "date": "2012/10/29", "day": "Monday", "daycount": "J+867", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41212.0, "date": "2012/10/30", "day": "Tuesday", "daycount": "J+868", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41213.0, "date": "2012/10/31", "day": "Wednesday", "daycount": "J+869", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41214.0, "date": "2012/11/01", "day": "Thursday", "daycount": "J+870", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41215.0, "date": "2012/11/02", "day": "Friday", "daycount": "J+871", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41216.0, "date": "2012/11/03", "day": "Saturday", "daycount": "J+872", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41217.0, "date": "2012/11/04", "day": "Sunday", "daycount": "J+873", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41218.0, "date": "2012/11/05", "day": "Monday", "daycount": "J+874", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41219.0, "date": "2012/11/06", "day": "Tuesday", "daycount": "J+875", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41220.0, "date": "2012/11/07", "day": "Wednesday", "daycount": "J+876", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41221.0, "date": "2012/11/08", "day": "Thursday", "daycount": "J+877", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41222.0, "date": "2012/11/09", "day": "Friday", "daycount": "J+878", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41223.0, "date": "2012/11/10", "day": "Saturday", "daycount": "J+879", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41224.0, "date": "2012/11/11", "day": "Sunday", "daycount": "J+880", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41227.0, "date": "2012/11/14", "day": "Wednesday", "daycount": "J+883", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41228.0, "date": "2012/11/15", "day": "Thursday", "daycount": "J+884", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41229.0, "date": "2012/11/16", "day": "Friday", "daycount": "J+885", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41230.0, "date": "2012/11/17", "day": "Saturday", "daycount": "J+886", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41231.0, "date": "2012/11/18", "day": "Sunday", "daycount": "J+887", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41232.0, "date": "2012/11/19", "day": "Monday", "daycount": "J+888", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41233.0, "date": "2012/11/20", "day": "Tuesday", "daycount": "J+889", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41234.0, "date": "2012/11/21", "day": "Wednesday", "daycount": "J+890", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41235.0, "date": "2012/11/22", "day": "Thursday", "daycount": "J+891", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41236.0, "date": "2012/11/23", "day": "Friday", "daycount": "J+892", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41237.0, "date": "2012/11/24", "day": "Saturday", "daycount": "J+893", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41238.0, "date": "2012/11/25", "day": "Sunday", "daycount": "J+894", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41239.0, "date": "2012/11/26", "day": "Monday", "daycount": "J+895", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41240.0, "date": "2012/11/27", "day": "Tuesday", "daycount": "J+896", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41241.0, "date": "2012/11/28", "day": "Wednesday", "daycount": "J+897", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41242.0, "date": "2012/11/29", "day": "Thursday", "daycount": "J+898", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41243.0, "date": "2012/11/30", "day": "Friday", "daycount": "J+899", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41244.0, "date": "2012/12/01", "day": "Saturday", "daycount": "J+900", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41245.0, "date": "2012/12/02", "day": "Sunday", "daycount": "J+901", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41246.0, "date": "2012/12/03", "day": "Monday", "daycount": "J+902", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41247.0, "date": "2012/12/04", "day": "Tuesday", "daycount": "J+903", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41248.0, "date": "2012/12/05", "day": "Wednesday", "daycount": "J+904", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41249.0, "date": "2012/12/06", "day": "Thursday", "daycount": "J+905", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41250.0, "date": "2012/12/07", "day": "Friday", "daycount": "J+906", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41251.0, "date": "2012/12/08", "day": "Saturday", "daycount": "J+907", "starttime": "02:00:00", "endtime": "04:00:00", "text": "PREMOS: Science mode", "data": 0.0}, {"daynum": 41252.0, "date": "2012/12/09", "day": "Sunday", "daycount": "J+908", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41253.0, "date": "2012/12/10", "day": "Monday", "daycount": "J+909", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41254.0, "date": "2012/12/11", "day": "Tuesday", "daycount": "J+910", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41255.0, "date": "2012/12/12", "day": "Wednesday", "daycount": "J+911", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41256.0, "date": "2012/12/13", "day": "Thursday", "daycount": "J+912", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41257.0, "date": "2012/12/14", "day": "Friday", "daycount": "J+913", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41258.0, "date": "2012/12/15", "day": "Saturday", "daycount": "J+914", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41259.0, "date": "2012/12/16", "day": "Sunday", "daycount": "J+915", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41260.0, "date": "2012/12/17", "day": "Monday", "daycount": "J+916", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41261.0, "date": "2012/12/18", "day": "Tuesday", "daycount": "J+917", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41262.0, "date": "2012/12/19", "day": "Wednesday", "daycount": "J+918", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41263.0, "date": "2012/12/20", "day": "Thursday", "daycount": "J+919", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41264.0, "date": "2012/12/21", "day": "Friday", "daycount": "J+920", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41265.0, "date": "2012/12/22", "day": "Saturday", "daycount": "J+921", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41266.0, "date": "2012/12/23", "day": "Sunday", "daycount": "J+922", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41267.0, "date": "2012/12/24", "day": "Monday", "daycount": "J+923", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41268.0, "date": "2012/12/25", "day": "Tuesday", "daycount": "J+924", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41269.0, "date": "2012/12/26", "day": "Wednesday", "daycount": "J+925", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41270.0, "date": "2012/12/27", "day": "Thursday", "daycount": "J+926", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41271.0, "date": "2012/12/28", "day": "Friday", "daycount": "J+927", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41272.0, "date": "2012/12/29", "day": "Saturday", "daycount": "J+928", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41273.0, "date": "2012/12/30", "day": "Sunday", "daycount": "J+929", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41274.0, "date": "2012/12/31", "day": "Monday", "daycount": "J+930", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41275.0, "date": "2013/01/01", "day": "Tuesday", "daycount": "J+931", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41276.0, "date": "2013/01/02", "day": "Wednesday", "daycount": "J+932", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41277.0, "date": "2013/01/03", "day": "Thursday", "daycount": "J+933", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41278.0, "date": "2013/01/04", "day": "Friday", "daycount": "J+934", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41279.0, "date": "2013/01/05", "day": "Saturday", "daycount": "J+935", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41280.0, "date": "2013/01/06", "day": "Sunday", "daycount": "J+936", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41281.0, "date": "2013/01/07", "day": "Monday", "daycount": "J+937", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41282.0, "date": "2013/01/08", "day": "Tuesday", "daycount": "J+938", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41283.0, "date": "2013/01/09", "day": "Wednesday", "daycount": "J+939", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41284.0, "date": "2013/01/10", "day": "Thursday", "daycount": "J+940", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41285.0, "date": "2013/01/11", "day": "Friday", "daycount": "J+941", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41286.0, "date": "2013/01/12", "day": "Saturday", "daycount": "J+942", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41287.0, "date": "2013/01/13", "day": "Sunday", "daycount": "J+943", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41288.0, "date": "2013/01/14", "day": "Monday", "daycount": "J+944", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41289.0, "date": "2013/01/15", "day": "Tuesday", "daycount": "J+945", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41290.0, "date": "2013/01/16", "day": "Wednesday", "daycount": "J+946", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41291.0, "date": "2013/01/17", "day": "Thursday", "daycount": "J+947", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41292.0, "date": "2013/01/18", "day": "Friday", "daycount": "J+948", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41293.0, "date": "2013/01/19", "day": "Saturday", "daycount": "J+949", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41294.0, "date": "2013/01/20", "day": "Sunday", "daycount": "J+950", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41295.0, "date": "2013/01/21", "day": "Monday", "daycount": "J+951", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41296.0, "date": "2013/01/22", "day": "Tuesday", "daycount": "J+952", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41297.0, "date": "2013/01/23", "day": "Wednesday", "daycount": "J+953", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41298.0, "date": "2013/01/24", "day": "Thursday", "daycount": "J+954", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41299.0, "date": "2013/01/25", "day": "Friday", "daycount": "J+955", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41300.0, "date": "2013/01/26", "day": "Saturday", "daycount": "J+956", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41301.0, "date": "2013/01/27", "day": "Sunday", "daycount": "J+957", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specifc Remanece Procedure WL535H-1", "data": 0.0}, {"daynum": 41302.0, "date": "2013/01/28", "day": "Monday", "daycount": "J+958", "starttime": "02:00:00", "endtime": "13:00:00", "text": "SODISM: Specific Piston Procedure", "data": 0.0}, {"daynum": 41302.0, "date": "2013/01/28", "day": "Monday", "daycount": "J+958", "starttime": "13:00:00", "endtime": "24:00:00", "text": "PREMOS: Occultation Procedure", "data": 0.0}, {"daynum": 41303.0, "date": "2013/01/29", "day": "Tuesday", "daycount": "J+959", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41304.0, "date": "2013/01/30", "day": "Wednesday", "daycount": "J+960", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41305.0, "date": "2013/01/31", "day": "Thursday", "daycount": "J+961", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41306.0, "date": "2013/02/01", "day": "Friday", "daycount": "J+962", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41307.0, "date": "2013/02/02", "day": "Saturday", "daycount": "J+963", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41308.0, "date": "2013/02/03", "day": "Sunday", "daycount": "J+964", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41309.0, "date": "2013/02/04", "day": "Monday", "daycount": "J+965", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41310.0, "date": "2013/02/05", "day": "Tuesday", "daycount": "J+966", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41311.0, "date": "2013/02/06", "day": "Wednesday", "daycount": "J+967", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41312.0, "date": "2013/02/07", "day": "Thursday", "daycount": "J+968", "starttime": "08:00:00", "endtime": "12:00:00", "text": "SODISM: Improved MES (stellar) mode New images sequence 2B \u2013 607 nm", "data": 0.0}, {"daynum": 41313.0, "date": "2013/02/08", "day": "Friday", "daycount": "J+969", "starttime": "08:00:00", "endtime": "12:00:00", "text": "SODISM: Improved MES (stellar) mode New images sequence 2B \u2013 393 nm", "data": 0.0}, {"daynum": 41314.0, "date": "2013/02/09", "day": "Saturday", "daycount": "J+970", "starttime": "08:00:00", "endtime": "12:00:00", "text": "SODISM: Improved MES (stellar) mode New images sequence 2B \u2013 535H nm", "data": 0.0}, {"daynum": 41315.0, "date": "2013/02/10", "day": "Sunday", "daycount": "J+971", "starttime": "05:00:00", "endtime": "08:00:00", "text": "PREMOS: Specific Procedure during MES", "data": 0.0}, {"daynum": 41315.0, "date": "2013/02/10", "day": "Sunday", "daycount": "J+971", "starttime": "08:00:00", "endtime": "12:00:00", "text": "SODISM: Improved MES (stellar) mode New images sequence 2B \u2013 535D nm", "data": 0.0}, {"daynum": 41316.0, "date": "2013/02/11", "day": "Monday", "daycount": "J+972", "starttime": "09:00:00", "endtime": "24:00:00", "text": "SODISM: Specific PLLC Procedure all configurations", "data": 0.0}, {"daynum": 41317.0, "date": "2013/02/12", "day": "Tuesday", "daycount": "J+973", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific Piston Procedure-2(Duration: ~1000 min.)", "data": 0.0}, {"daynum": 41318.0, "date": "2013/02/13", "day": "Wednesday", "daycount": "J+974", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535, DL images)", "data": 0.0}, {"daynum": 41319.0, "date": "2013/02/14", "day": "Thursday", "daycount": "J+975", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535, DL images)", "data": 0.0}, {"daynum": 41320.0, "date": "2013/02/15", "day": "Friday", "daycount": "J+976", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specifc Remanence Procedure-2 WL 393", "data": 0.0}, {"daynum": 41321.0, "date": "2013/02/16", "day": "Saturday", "daycount": "J+977", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specifc Remanence Procedure-2 WL 535D", "data": 0.0}, {"daynum": 41322.0, "date": "2013/02/17", "day": "Sunday", "daycount": "J+978", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specifc Remanence Procedure-2 WL 607", "data": 0.0}, {"daynum": 41323.0, "date": "2013/02/18", "day": "Monday", "daycount": "J+979", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specifc Remanence Procedure-2 WL 782", "data": 0.0}, {"daynum": 41324.0, "date": "2013/02/19", "day": "Tuesday", "daycount": "J+980", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specifc Remanence Procedure-2 WL 535H", "data": 0.0}, {"daynum": 41325.0, "date": "2013/02/20", "day": "Wednesday", "daycount": "J+981", "starttime": "00:00:00", "endtime": "15:00:00", "text": "SODISM M1 offset X and Y calibration Lambda: 215nm", "data": 0.0}, {"daynum": 41326.0, "date": "2013/02/21", "day": "Thursday", "daycount": "J+982", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 607, DL images)", "data": 0.0}, {"daynum": 41327.0, "date": "2013/02/22", "day": "Friday", "daycount": "J+983", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 607, DL images)", "data": 0.0}, {"daynum": 41328.0, "date": "2013/02/23", "day": "Saturday", "daycount": "J+984", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 393, DL images)", "data": 0.0}, {"daynum": 41329.0, "date": "2013/02/24", "day": "Sunday", "daycount": "J+985", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 393, DL images)", "data": 0.0}, {"daynum": 41330.0, "date": "2013/02/25", "day": "Monday", "daycount": "J+986", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41331.0, "date": "2013/02/26", "day": "Tuesday", "daycount": "J+987", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 782, DL images)", "data": 0.0}, {"daynum": 41332.0, "date": "2013/02/27", "day": "Wednesday", "daycount": "J+988", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 782, DL images)", "data": 0.0}, {"daynum": 41333.0, "date": "2013/02/28", "day": "Thursday", "daycount": "J+989", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535H, DL images)", "data": 0.0}, {"daynum": 41334.0, "date": "2013/03/01", "day": "Friday", "daycount": "J+990", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 535H, DL images)", "data": 0.0}, {"daynum": 41335.0, "date": "2013/03/02", "day": "Saturday", "daycount": "J+991", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific Flatfield Procedure Rotation of Filter Wheels: 215 nm", "data": 0.0}, {"daynum": 41336.0, "date": "2013/03/03", "day": "Sunday", "daycount": "J+992", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41337.0, "date": "2013/03/04", "day": "Monday", "daycount": "J+993", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41338.0, "date": "2013/03/05", "day": "Tuesday", "daycount": "J+994", "starttime": "00:00:00", "endtime": "05:00:00", "text": "SODISM: Configuration Restoration", "data": 0.0}, {"daynum": 41339.0, "date": "2013/03/06", "day": "Wednesday", "daycount": "J+995", "starttime": "05:00:00", "endtime": "10:00:00", "text": "SODISM: Configuration Restoration", "data": 0.0}, {"daynum": 41340.0, "date": "2013/03/07", "day": "Thursday", "daycount": "J+996", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41341.0, "date": "2013/03/08", "day": "Friday", "daycount": "J+997", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 215, DL images)", "data": 0.0}, {"daynum": 41342.0, "date": "2013/03/09", "day": "Saturday", "daycount": "J+998", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 215, DL images)", "data": 0.0}, {"daynum": 41343.0, "date": "2013/03/10", "day": "Sunday", "daycount": "J+999", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41344.0, "date": "2013/03/11", "day": "Monday", "daycount": "J+1000", "starttime": "06:00:00", "endtime": "09:00:00", "text": "PREMOS: Specific Procedure during MES", "data": 0.0}, {"daynum": 41344.0, "date": "2013/03/11", "day": "Monday", "daycount": "J+1000", "starttime": "09:00:00", "endtime": "13:00:00", "text": "SODISM: Improved MES (stellar) mode New images sequence 2B 607 nm", "data": 0.0}, {"daynum": 41345.0, "date": "2013/03/12", "day": "Tuesday", "daycount": "J+1001", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Exposure time Variation: 607 nm", "data": 0.0}, {"daynum": 41346.0, "date": "2013/03/13", "day": "Wednesday", "daycount": "J+1002", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Exposure time Variation: 535D nm", "data": 0.0}, {"daynum": 41347.0, "date": "2013/03/14", "day": "Thursday", "daycount": "J+1003", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM Exposure time Variation: 782", "data": 0.0}, {"daynum": 41348.0, "date": "2013/03/15", "day": "Friday", "daycount": "J+1004", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Stroke rate max 393 nm \u2013 2", "data": 0.0}, {"daynum": 41349.0, "date": "2013/03/16", "day": "Saturday", "daycount": "J+1005", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Stroke rate max 393 nm \u2013 2", "data": 0.0}, {"daynum": 41350.0, "date": "2013/03/17", "day": "Sunday", "daycount": "J+1006", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Stroke rate max 393 nm \u2013 2", "data": 0.0}, {"daynum": 41351.0, "date": "2013/03/18", "day": "Monday", "daycount": "J+1007", "starttime": "06:00:00", "endtime": "24:00:00", "text": "SODISM: Specific Flatfield Procedure Rotation of Filter Wheels 2 Wavelength: 215 nm", "data": 0.0}, {"daynum": 41352.0, "date": "2013/03/19", "day": "Tuesday", "daycount": "J+1008", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific Flatfield Procedure Rotation of Filter Wheels 2 Wavelength: 393 nm", "data": 0.0}, {"daynum": 41353.0, "date": "2013/03/20", "day": "Wednesday", "daycount": "J+1009", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific Flatfield Procedure Rotation of Filter Wheels 2 Wavelength: 535D nm", "data": 0.0}, {"daynum": 41354.0, "date": "2013/03/21", "day": "Thursday", "daycount": "J+1010", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific Flatfield Procedure Rotation of Filter Wheels 2 Wavelength: 607 nm", "data": 0.0}, {"daynum": 41355.0, "date": "2013/03/22", "day": "Friday", "daycount": "J+1011", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific Flatfield Procedure Rotation of Filter Wheels 2 Wavelength: 782 nm", "data": 0.0}, {"daynum": 41356.0, "date": "2013/03/23", "day": "Saturday", "daycount": "J+1012", "starttime": "00:00:00", "endtime": "08:00:00", "text": "SODISM: Specific Flatfield Procedure Rotation of Filter Wheels 2 Wavelength: 535H nm( ==> Only first 450 minutes of the procedure)", "data": 0.0}, {"daynum": 41357.0, "date": "2013/03/24", "day": "Sunday", "daycount": "J+1013", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41358.0, "date": "2013/03/25", "day": "Monday", "daycount": "J+1014", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41359.0, "date": "2013/03/26", "day": "Tuesday", "daycount": "J+1015", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41360.0, "date": "2013/03/27", "day": "Wednesday", "daycount": "J+1016", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific Flatfield Procedure Rotation of Filter Wheels 2 Wavelength: 393 nm", "data": 0.0}, {"daynum": 41361.0, "date": "2013/03/28", "day": "Thursday", "daycount": "J+1017", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific Flatfield Procedure Rotation of Filter Wheels 2 Wavelength: 782 nm", "data": 0.0}, {"daynum": 41362.0, "date": "2013/03/29", "day": "Friday", "daycount": "J+1018", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41363.0, "date": "2013/03/30", "day": "Saturday", "daycount": "J+1019", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41364.0, "date": "2013/03/31", "day": "Sunday", "daycount": "J+1020", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41365.0, "date": "2013/04/01", "day": "Monday", "daycount": "J+1021", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41366.0, "date": "2013/04/02", "day": "Tuesday", "daycount": "J+1022", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41367.0, "date": "2013/04/03", "day": "Wednesday", "daycount": "J+1023", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41368.0, "date": "2013/04/04", "day": "Thursday", "daycount": "J+1024", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41369.0, "date": "2013/04/05", "day": "Friday", "daycount": "J+1025", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41370.0, "date": "2013/04/06", "day": "Saturday", "daycount": "J+1026", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41371.0, "date": "2013/04/07", "day": "Sunday", "daycount": "J+1027", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41372.0, "date": "2013/04/08", "day": "Monday", "daycount": "J+1028", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41373.0, "date": "2013/04/09", "day": "Tuesday", "daycount": "J+1029", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41374.0, "date": "2013/04/10", "day": "Wednesday", "daycount": "J+1030", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41375.0, "date": "2013/04/11", "day": "Thursday", "daycount": "J+1031", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41376.0, "date": "2013/04/12", "day": "Friday", "daycount": "J+1032", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41377.0, "date": "2013/04/13", "day": "Saturday", "daycount": "J+1033", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41378.0, "date": "2013/04/14", "day": "Sunday", "daycount": "J+1034", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41379.0, "date": "2013/04/15", "day": "Monday", "daycount": "J+1035", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41380.0, "date": "2013/04/16", "day": "Tuesday", "daycount": "J+1036", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41381.0, "date": "2013/04/17", "day": "Wednesday", "daycount": "J+1037", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41382.0, "date": "2013/04/18", "day": "Thursday", "daycount": "J+1038", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41383.0, "date": "2013/04/19", "day": "Friday", "daycount": "J+1039", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41384.0, "date": "2013/04/20", "day": "Saturday", "daycount": "J+1040", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41385.0, "date": "2013/04/21", "day": "Sunday", "daycount": "J+1041", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41386.0, "date": "2013/04/22", "day": "Monday", "daycount": "J+1042", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41387.0, "date": "2013/04/23", "day": "Tuesday", "daycount": "J+1043", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41388.0, "date": "2013/04/24", "day": "Wednesday", "daycount": "J+1044", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41389.0, "date": "2013/04/25", "day": "Thursday", "daycount": "J+1045", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41390.0, "date": "2013/04/26", "day": "Friday", "daycount": "J+1046", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41391.0, "date": "2013/04/27", "day": "Saturday", "daycount": "J+1047", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41392.0, "date": "2013/04/28", "day": "Sunday", "daycount": "J+1048", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41393.0, "date": "2013/04/29", "day": "Monday", "daycount": "J+1049", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41394.0, "date": "2013/04/30", "day": "Tuesday", "daycount": "J+1050", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41395.0, "date": "2013/05/01", "day": "Wednesday", "daycount": "J+1051", "starttime": "19:00:00", "endtime": "24:00:00", "text": "SODISM: Specific CO procedure \u2013 1", "data": 0.0}, {"daynum": 41396.0, "date": "2013/05/02", "day": "Thursday", "daycount": "J+1052", "starttime": "00:00:00", "endtime": "04:00:00", "text": "SODISM: Specific CO procedure \u2013 1", "data": 0.0}, {"daynum": 41397.0, "date": "2013/05/03", "day": "Friday", "daycount": "J+1053", "starttime": "00:00:00", "endtime": "06:00:00", "text": "SODISM: Specific CO procedure \u2013 2", "data": 0.0}, {"daynum": 41398.0, "date": "2013/05/04", "day": "Saturday", "daycount": "J+1054", "starttime": "19:00:00", "endtime": "24:00:00", "text": "SODISM: Specific CO procedure \u2013 1", "data": 0.0}, {"daynum": 41399.0, "date": "2013/05/05", "day": "Sunday", "daycount": "J+1055", "starttime": "00:00:00", "endtime": "04:00:00", "text": "SODISM: Specific CO procedure \u2013 1", "data": 0.0}, {"daynum": 41400.0, "date": "2013/05/06", "day": "Monday", "daycount": "J+1056", "starttime": "02:00:00", "endtime": "08:00:00", "text": "SODISM: Specific CO procedure \u2013 2", "data": 0.0}, {"daynum": 41401.0, "date": "2013/05/07", "day": "Tuesday", "daycount": "J+1057", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41402.0, "date": "2013/05/08", "day": "Wednesday", "daycount": "J+1058", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41403.0, "date": "2013/05/09", "day": "Thursday", "daycount": "J+1059", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41404.0, "date": "2013/05/10", "day": "Friday", "daycount": "J+1060", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41405.0, "date": "2013/05/11", "day": "Saturday", "daycount": "J+1061", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41406.0, "date": "2013/05/12", "day": "Sunday", "daycount": "J+1062", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41407.0, "date": "2013/05/13", "day": "Monday", "daycount": "J+1063", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41408.0, "date": "2013/05/14", "day": "Tuesday", "daycount": "J+1064", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41409.0, "date": "2013/05/15", "day": "Wednesday", "daycount": "J+1065", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41410.0, "date": "2013/05/16", "day": "Thursday", "daycount": "J+1066", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41411.0, "date": "2013/05/17", "day": "Friday", "daycount": "J+1067", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41412.0, "date": "2013/05/18", "day": "Saturday", "daycount": "J+1068", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41413.0, "date": "2013/05/19", "day": "Sunday", "daycount": "J+1069", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41414.0, "date": "2013/05/20", "day": "Monday", "daycount": "J+1070", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41415.0, "date": "2013/05/21", "day": "Tuesday", "daycount": "J+1071", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41416.0, "date": "2013/05/22", "day": "Wednesday", "daycount": "J+1072", "starttime": "12:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41417.0, "date": "2013/05/23", "day": "Thursday", "daycount": "J+1073", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41418.0, "date": "2013/05/24", "day": "Friday", "daycount": "J+1074", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41419.0, "date": "2013/05/25", "day": "Saturday", "daycount": "J+1075", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41420.0, "date": "2013/05/26", "day": "Sunday", "daycount": "J+1076", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41421.0, "date": "2013/05/27", "day": "Monday", "daycount": "J+1077", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41422.0, "date": "2013/05/28", "day": "Tuesday", "daycount": "J+1078", "starttime": "00:00:00", "endtime": "14:00:00", "text": "SODISM: Extended Decontamination", "data": 0.0}, {"daynum": 41423.0, "date": "2013/05/29", "day": "Wednesday", "daycount": "J+1079", "starttime": "19:00:00", "endtime": "24:00:00", "text": "SODISM: Specific CO procedure \u2013 1", "data": 0.0}, {"daynum": 41424.0, "date": "2013/05/30", "day": "Thursday", "daycount": "J+1080", "starttime": "00:00:00", "endtime": "04:00:00", "text": "SODISM: Specific CO procedure \u2013 1", "data": 0.0}, {"daynum": 41425.0, "date": "2013/05/31", "day": "Friday", "daycount": "J+1081", "starttime": "00:00:00", "endtime": "06:00:00", "text": "SODISM: Specific CO procedure \u2013 2", "data": 0.0}, {"daynum": 41426.0, "date": "2013/06/01", "day": "Saturday", "daycount": "J+1082", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41427.0, "date": "2013/06/02", "day": "Sunday", "daycount": "J+1083", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41428.0, "date": "2013/06/03", "day": "Monday", "daycount": "J+1084", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41429.0, "date": "2013/06/04", "day": "Tuesday", "daycount": "J+1085", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41430.0, "date": "2013/06/05", "day": "Wednesday", "daycount": "J+1086", "starttime": "01:00:00", "endtime": "18:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 01:15:00", "data": 0.0}, {"daynum": 41431.0, "date": "2013/06/06", "day": "Thursday", "daycount": "J+1087", "starttime": "11:00:00", "endtime": "24:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 11:05:00", "data": 0.0}, {"daynum": 41432.0, "date": "2013/06/07", "day": "Friday", "daycount": "J+1088", "starttime": "00:00:00", "endtime": "04:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 11:05:00", "data": 0.0}, {"daynum": 41432.0, "date": "2013/06/07", "day": "Friday", "daycount": "J+1088", "starttime": "23:00:00", "endtime": "24:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 23:34:00", "data": 0.0}, {"daynum": 41433.0, "date": "2013/06/08", "day": "Saturday", "daycount": "J+1089", "starttime": "00:00:00", "endtime": "16:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 23:34:00", "data": 0.0}, {"daynum": 41434.0, "date": "2013/06/09", "day": "Sunday", "daycount": "J+1090", "starttime": "11:00:00", "endtime": "24:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 11:05:00", "data": 0.0}, {"daynum": 41435.0, "date": "2013/06/10", "day": "Monday", "daycount": "J+1091", "starttime": "09:00:00", "endtime": "24:00:00", "text": "SODISM: Specific SST03 \u2013 TANGENT Procedure T0: 09:46:00", "data": 0.0}, {"daynum": 41436.0, "date": "2013/06/11", "day": "Tuesday", "daycount": "J+1092", "starttime": "00:00:00", "endtime": "16:00:00", "text": "SODISM: Specific SST03 \u2013 TANGENT Procedure T0: 09:46:00", "data": 0.0}, {"daynum": 41437.0, "date": "2013/06/12", "day": "Wednesday", "daycount": "J+1093", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41438.0, "date": "2013/06/13", "day": "Thursday", "daycount": "J+1094", "starttime": "01:00:00", "endtime": "18:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 01:05:00", "data": 0.0}, {"daynum": 41439.0, "date": "2013/06/14", "day": "Friday", "daycount": "J+1095", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41440.0, "date": "2013/06/15", "day": "Saturday", "daycount": "J+1096", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41441.0, "date": "2013/06/16", "day": "Sunday", "daycount": "J+1097", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41442.0, "date": "2013/06/17", "day": "Monday", "daycount": "J+1098", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41443.0, "date": "2013/06/18", "day": "Tuesday", "daycount": "J+1099", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41444.0, "date": "2013/06/19", "day": "Wednesday", "daycount": "J+1100", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41445.0, "date": "2013/06/20", "day": "Thursday", "daycount": "J+1101", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41446.0, "date": "2013/06/21", "day": "Friday", "daycount": "J+1102", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41447.0, "date": "2013/06/22", "day": "Saturday", "daycount": "J+1103", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41448.0, "date": "2013/06/23", "day": "Sunday", "daycount": "J+1104", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41449.0, "date": "2013/06/24", "day": "Monday", "daycount": "J+1105", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41450.0, "date": "2013/06/25", "day": "Tuesday", "daycount": "J+1106", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41451.0, "date": "2013/06/26", "day": "Wednesday", "daycount": "J+1107", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41452.0, "date": "2013/06/27", "day": "Thursday", "daycount": "J+1108", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41453.0, "date": "2013/06/28", "day": "Friday", "daycount": "J+1109", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41454.0, "date": "2013/06/29", "day": "Saturday", "daycount": "J+1110", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41455.0, "date": "2013/06/30", "day": "Sunday", "daycount": "J+1111", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41456.0, "date": "2013/07/01", "day": "Monday", "daycount": "J+1112", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41457.0, "date": "2013/07/02", "day": "Tuesday", "daycount": "J+1113", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41458.0, "date": "2013/07/03", "day": "Wednesday", "daycount": "J+1114", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41459.0, "date": "2013/07/04", "day": "Thursday", "daycount": "J+1115", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41460.0, "date": "2013/07/05", "day": "Friday", "daycount": "J+1116", "starttime": "00:00:00", "endtime": "24:00:00", "text": " Specific HMI procedure", "data": 1.0}, {"daynum": 41461.0, "date": "2013/07/06", "day": "Saturday", "daycount": "J+1117", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific HMI procedure", "data": 1.0}, {"daynum": 41462.0, "date": "2013/07/07", "day": "Sunday", "daycount": "J+1118", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific HMI procedure", "data": 1.0}, {"daynum": 41463.0, "date": "2013/07/08", "day": "Monday", "daycount": "J+1119", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 0.0}, {"daynum": 41464.0, "date": "2013/07/09", "day": "Tuesday", "daycount": "J+1120", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41465.0, "date": "2013/07/10", "day": "Wednesday", "daycount": "J+1121", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41466.0, "date": "2013/07/11", "day": "Thursday", "daycount": "J+1122", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41467.0, "date": "2013/07/12", "day": "Friday", "daycount": "J+1123", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41468.0, "date": "2013/07/13", "day": "Saturday", "daycount": "J+1124", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41469.0, "date": "2013/07/14", "day": "Sunday", "daycount": "J+1125", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41470.0, "date": "2013/07/15", "day": "Monday", "daycount": "J+1126", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41471.0, "date": "2013/07/16", "day": "Tuesday", "daycount": "J+1127", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41472.0, "date": "2013/07/17", "day": "Wednesday", "daycount": "J+1128", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41473.0, "date": "2013/07/18", "day": "Thursday", "daycount": "J+1129", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41474.0, "date": "2013/07/19", "day": "Friday", "daycount": "J+1130", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41475.0, "date": "2013/07/20", "day": "Saturday", "daycount": "J+1131", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41476.0, "date": "2013/07/21", "day": "Sunday", "daycount": "J+1132", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41477.0, "date": "2013/07/22", "day": "Monday", "daycount": "J+1133", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41478.0, "date": "2013/07/23", "day": "Tuesday", "daycount": "J+1134", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41479.0, "date": "2013/07/24", "day": "Wednesday", "daycount": "J+1135", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41480.0, "date": "2013/07/25", "day": "Thursday", "daycount": "J+1136", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41481.0, "date": "2013/07/26", "day": "Friday", "daycount": "J+1137", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41482.0, "date": "2013/07/27", "day": "Saturday", "daycount": "J+1138", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41483.0, "date": "2013/07/28", "day": "Sunday", "daycount": "J+1139", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41484.0, "date": "2013/07/29", "day": "Monday", "daycount": "J+1140", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41485.0, "date": "2013/07/30", "day": "Tuesday", "daycount": "J+1141", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41486.0, "date": "2013/07/31", "day": "Wednesday", "daycount": "J+1142", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41487.0, "date": "2013/08/01", "day": "Thursday", "daycount": "J+1143", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41488.0, "date": "2013/08/02", "day": "Friday", "daycount": "J+1144", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific HMI procedure", "data": 0.0}, {"daynum": 41489.0, "date": "2013/08/03", "day": "Saturday", "daycount": "J+1145", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific HMI procedure", "data": 0.0}, {"daynum": 41490.0, "date": "2013/08/04", "day": "Sunday", "daycount": "J+1146", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific HMI procedure", "data": 0.0}, {"daynum": 41491.0, "date": "2013/08/05", "day": "Monday", "daycount": "J+1147", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41492.0, "date": "2013/08/06", "day": "Tuesday", "daycount": "J+1148", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41493.0, "date": "2013/08/07", "day": "Wednesday", "daycount": "J+1149", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41494.0, "date": "2013/08/08", "day": "Thursday", "daycount": "J+1150", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41495.0, "date": "2013/08/09", "day": "Friday", "daycount": "J+1151", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41496.0, "date": "2013/08/10", "day": "Saturday", "daycount": "J+1152", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41497.0, "date": "2013/08/11", "day": "Sunday", "daycount": "J+1153", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41498.0, "date": "2013/08/12", "day": "Monday", "daycount": "J+1154", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41499.0, "date": "2013/08/13", "day": "Tuesday", "daycount": "J+1155", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41500.0, "date": "2013/08/14", "day": "Wednesday", "daycount": "J+1156", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41501.0, "date": "2013/08/15", "day": "Thursday", "daycount": "J+1157", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41502.0, "date": "2013/08/16", "day": "Friday", "daycount": "J+1158", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41503.0, "date": "2013/08/17", "day": "Saturday", "daycount": "J+1159", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41504.0, "date": "2013/08/18", "day": "Sunday", "daycount": "J+1160", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41505.0, "date": "2013/08/19", "day": "Monday", "daycount": "J+1161", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41506.0, "date": "2013/08/20", "day": "Tuesday", "daycount": "J+1162", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41507.0, "date": "2013/08/21", "day": "Wednesday", "daycount": "J+1163", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41508.0, "date": "2013/08/22", "day": "Thursday", "daycount": "J+1164", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41509.0, "date": "2013/08/23", "day": "Friday", "daycount": "J+1165", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41510.0, "date": "2013/08/24", "day": "Saturday", "daycount": "J+1166", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41511.0, "date": "2013/08/25", "day": "Sunday", "daycount": "J+1167", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41512.0, "date": "2013/08/26", "day": "Monday", "daycount": "J+1168", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41513.0, "date": "2013/08/27", "day": "Tuesday", "daycount": "J+1169", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41514.0, "date": "2013/08/28", "day": "Wednesday", "daycount": "J+1170", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41515.0, "date": "2013/08/29", "day": "Thursday", "daycount": "J+1171", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41516.0, "date": "2013/08/30", "day": "Friday", "daycount": "J+1172", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41517.0, "date": "2013/08/31", "day": "Saturday", "daycount": "J+1173", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41518.0, "date": "2013/09/01", "day": "Sunday", "daycount": "J+1174", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41519.0, "date": "2013/09/02", "day": "Monday", "daycount": "J+1175", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41520.0, "date": "2013/09/03", "day": "Tuesday", "daycount": "J+1176", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41521.0, "date": "2013/09/04", "day": "Wednesday", "daycount": "J+1177", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41522.0, "date": "2013/09/05", "day": "Thursday", "daycount": "J+1178", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41523.0, "date": "2013/09/06", "day": "Friday", "daycount": "J+1179", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41524.0, "date": "2013/09/07", "day": "Saturday", "daycount": "J+1180", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41525.0, "date": "2013/09/08", "day": "Sunday", "daycount": "J+1181", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41526.0, "date": "2013/09/09", "day": "Monday", "daycount": "J+1182", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41527.0, "date": "2013/09/10", "day": "Tuesday", "daycount": "J+1183", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41528.0, "date": "2013/09/11", "day": "Wednesday", "daycount": "J+1184", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41529.0, "date": "2013/09/12", "day": "Thursday", "daycount": "J+1185", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41530.0, "date": "2013/09/13", "day": "Friday", "daycount": "J+1186", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41531.0, "date": "2013/09/14", "day": "Saturday", "daycount": "J+1187", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41532.0, "date": "2013/09/15", "day": "Sunday", "daycount": "J+1188", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41533.0, "date": "2013/09/16", "day": "Monday", "daycount": "J+1189", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41534.0, "date": "2013/09/17", "day": "Tuesday", "daycount": "J+1190", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41535.0, "date": "2013/09/18", "day": "Wednesday", "daycount": "J+1191", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41536.0, "date": "2013/09/19", "day": "Thursday", "daycount": "J+1192", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41537.0, "date": "2013/09/20", "day": "Friday", "daycount": "J+1193", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41538.0, "date": "2013/09/21", "day": "Saturday", "daycount": "J+1194", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41539.0, "date": "2013/09/22", "day": "Sunday", "daycount": "J+1195", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41540.0, "date": "2013/09/23", "day": "Monday", "daycount": "J+1196", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41541.0, "date": "2013/09/24", "day": "Tuesday", "daycount": "J+1197", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41542.0, "date": "2013/09/25", "day": "Wednesday", "daycount": "J+1198", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41543.0, "date": "2013/09/26", "day": "Thursday", "daycount": "J+1199", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41544.0, "date": "2013/09/27", "day": "Friday", "daycount": "J+1200", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41545.0, "date": "2013/09/28", "day": "Saturday", "daycount": "J+1201", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41546.0, "date": "2013/09/29", "day": "Sunday", "daycount": "J+1202", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41547.0, "date": "2013/09/30", "day": "Monday", "daycount": "J+1203", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41548.0, "date": "2013/10/01", "day": "Tuesday", "daycount": "J+1204", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41549.0, "date": "2013/10/02", "day": "Wednesday", "daycount": "J+1205", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41550.0, "date": "2013/10/03", "day": "Thursday", "daycount": "J+1206", "starttime": "00:00:00", "endtime": "19:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 00:15:00 (0\u00b0)", "data": 0.0}, {"daynum": 41551.0, "date": "2013/10/04", "day": "Friday", "daycount": "J+1207", "starttime": "08:00:00", "endtime": "24:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 08:00:00 (90\u00b0)", "data": 0.0}, {"daynum": 41552.0, "date": "2013/10/05", "day": "Saturday", "daycount": "J+1208", "starttime": "00:00:00", "endtime": "01:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 08:00:00 (90\u00b0)", "data": 0.0}, {"daynum": 41552.0, "date": "2013/10/05", "day": "Saturday", "daycount": "J+1208", "starttime": "20:00:00", "endtime": "24:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 23:34:00 (180\u00b0)", "data": 0.0}, {"daynum": 41553.0, "date": "2013/10/06", "day": "Sunday", "daycount": "J+1209", "starttime": "00:00:00", "endtime": "13:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 23:34:00 (180\u00b0)", "data": 0.0}, {"daynum": 41554.0, "date": "2013/10/07", "day": "Monday", "daycount": "J+1210", "starttime": "08:00:00", "endtime": "24:00:00", "text": "SODISM: Specific SST03 \u2013 TANGENT Procedure T0: 08:45:00", "data": 0.0}, {"daynum": 41555.0, "date": "2013/10/08", "day": "Tuesday", "daycount": "J+1211", "starttime": "00:00:00", "endtime": "14:00:00", "text": "SODISM: Specific SST03 \u2013 TANGENT Procedure T0: 08:45:00", "data": 0.0}, {"daynum": 41556.0, "date": "2013/10/09", "day": "Wednesday", "daycount": "J+1212", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41557.0, "date": "2013/10/10", "day": "Thursday", "daycount": "J+1213", "starttime": "00:00:00", "endtime": "17:00:00", "text": "SODISM: Specific SST03 \u2013 MDO Procedure T0: 00:00:00 (0\u00b0)", "data": 0.0}, {"daynum": 41558.0, "date": "2013/10/11", "day": "Friday", "daycount": "J+1214", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41559.0, "date": "2013/10/12", "day": "Saturday", "daycount": "J+1215", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41560.0, "date": "2013/10/13", "day": "Sunday", "daycount": "J+1216", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41561.0, "date": "2013/10/14", "day": "Monday", "daycount": "J+1217", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41562.0, "date": "2013/10/15", "day": "Tuesday", "daycount": "J+1218", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41563.0, "date": "2013/10/16", "day": "Wednesday", "daycount": "J+1219", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41564.0, "date": "2013/10/17", "day": "Thursday", "daycount": "J+1220", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41565.0, "date": "2013/10/18", "day": "Friday", "daycount": "J+1221", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41566.0, "date": "2013/10/19", "day": "Saturday", "daycount": "J+1222", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41567.0, "date": "2013/10/20", "day": "Sunday", "daycount": "J+1223", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41568.0, "date": "2013/10/21", "day": "Monday", "daycount": "J+1224", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41569.0, "date": "2013/10/22", "day": "Tuesday", "daycount": "J+1225", "starttime": "20:00:00", "endtime": "24:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: 19:45:00, wavelength: 607 nm)", "data": 0.0}, {"daynum": 41570.0, "date": "2013/10/23", "day": "Wednesday", "daycount": "J+1226", "starttime": "00:00:00", "endtime": "11:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: 19:45:00, wavelength: 607 nm)", "data": 0.0}, {"daynum": 41570.0, "date": "2013/10/23", "day": "Wednesday", "daycount": "J+1226", "starttime": "20:00:00", "endtime": "24:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: 19:45:00, wavelength: 393 nm)", "data": 0.0}, {"daynum": 41571.0, "date": "2013/10/24", "day": "Thursday", "daycount": "J+1227", "starttime": "00:00:00", "endtime": "11:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: 19:45:00, wavelength: 393 nm)", "data": 0.0}, {"daynum": 41571.0, "date": "2013/10/24", "day": "Thursday", "daycount": "J+1227", "starttime": "10:00:00", "endtime": "24:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: 09:45:00, wavelength: 535D nm)", "data": 0.0}, {"daynum": 41572.0, "date": "2013/10/25", "day": "Friday", "daycount": "J+1228", "starttime": "00:00:00", "endtime": "01:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: 09:45:00, wavelength: 535D nm)", "data": 0.0}, {"daynum": 41572.0, "date": "2013/10/25", "day": "Friday", "daycount": "J+1228", "starttime": "01:00:00", "endtime": "15:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: 00:45:00, wavelength: 782 nm)", "data": 0.0}, {"daynum": 41573.0, "date": "2013/10/26", "day": "Saturday", "daycount": "J+1229", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41574.0, "date": "2013/10/27", "day": "Sunday", "daycount": "J+1230", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41575.0, "date": "2013/10/28", "day": "Monday", "daycount": "J+1231", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41576.0, "date": "2013/10/29", "day": "Tuesday", "daycount": "J+1232", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41577.0, "date": "2013/10/30", "day": "Wednesday", "daycount": "J+1233", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41578.0, "date": "2013/10/31", "day": "Thursday", "daycount": "J+1234", "starttime": "03:00:00", "endtime": "07:00:00", "text": "SODISM: Improved MES (stellar) mode New images sequence 2B", "data": 0.0}, {"daynum": 41579.0, "date": "2013/11/01", "day": "Friday", "daycount": "J+1235", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41580.0, "date": "2013/11/02", "day": "Saturday", "daycount": "J+1236", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41581.0, "date": "2013/11/03", "day": "Sunday", "daycount": "J+1237", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41582.0, "date": "2013/11/04", "day": "Monday", "daycount": "J+1238", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41583.0, "date": "2013/11/05", "day": "Tuesday", "daycount": "J+1239", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41584.0, "date": "2013/11/06", "day": "Wednesday", "daycount": "J+1240", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41585.0, "date": "2013/11/07", "day": "Thursday", "daycount": "J+1241", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41586.0, "date": "2013/11/08", "day": "Friday", "daycount": "J+1242", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41587.0, "date": "2013/11/09", "day": "Saturday", "daycount": "J+1243", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41588.0, "date": "2013/11/10", "day": "Sunday", "daycount": "J+1244", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41589.0, "date": "2013/11/11", "day": "Monday", "daycount": "J+1245", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41590.0, "date": "2013/11/12", "day": "Tuesday", "daycount": "J+1246", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41591.0, "date": "2013/11/13", "day": "Wednesday", "daycount": "J+1247", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41592.0, "date": "2013/11/14", "day": "Thursday", "daycount": "J+1248", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41593.0, "date": "2013/11/15", "day": "Friday", "daycount": "J+1249", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41594.0, "date": "2013/11/16", "day": "Saturday", "daycount": "J+1250", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41595.0, "date": "2013/11/17", "day": "Sunday", "daycount": "J+1251", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific procedure GUID-03 Operations 15 degree rotations along XYZ", "data": 0.0}, {"daynum": 41596.0, "date": "2013/11/18", "day": "Monday", "daycount": "J+1252", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific procedure GUID-03 Operations 15 degree rotations along XYZ", "data": 0.0}, {"daynum": 41597.0, "date": "2013/11/19", "day": "Tuesday", "daycount": "J+1253", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41598.0, "date": "2013/11/20", "day": "Wednesday", "daycount": "J+1254", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41599.0, "date": "2013/11/21", "day": "Thursday", "daycount": "J+1255", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41600.0, "date": "2013/11/22", "day": "Friday", "daycount": "J+1256", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41601.0, "date": "2013/11/23", "day": "Saturday", "daycount": "J+1257", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41602.0, "date": "2013/11/24", "day": "Sunday", "daycount": "J+1258", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41603.0, "date": "2013/11/25", "day": "Monday", "daycount": "J+1259", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41604.0, "date": "2013/11/26", "day": "Tuesday", "daycount": "J+1260", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41605.0, "date": "2013/11/27", "day": "Wednesday", "daycount": "J+1261", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41606.0, "date": "2013/11/28", "day": "Thursday", "daycount": "J+1262", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41607.0, "date": "2013/11/29", "day": "Friday", "daycount": "J+1263", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41608.0, "date": "2013/11/30", "day": "Saturday", "daycount": "J+1264", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41609.0, "date": "2013/12/01", "day": "Sunday", "daycount": "J+1265", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41610.0, "date": "2013/12/02", "day": "Monday", "daycount": "J+1266", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41611.0, "date": "2013/12/03", "day": "Tuesday", "daycount": "J+1267", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41612.0, "date": "2013/12/04", "day": "Wednesday", "daycount": "J+1268", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41613.0, "date": "2013/12/05", "day": "Thursday", "daycount": "J+1269", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41614.0, "date": "2013/12/06", "day": "Friday", "daycount": "J+1270", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41615.0, "date": "2013/12/07", "day": "Saturday", "daycount": "J+1271", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41616.0, "date": "2013/12/08", "day": "Sunday", "daycount": "J+1272", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41617.0, "date": "2013/12/09", "day": "Monday", "daycount": "J+1273", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41618.0, "date": "2013/12/10", "day": "Tuesday", "daycount": "J+1274", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41619.0, "date": "2013/12/11", "day": "Wednesday", "daycount": "J+1275", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41620.0, "date": "2013/12/12", "day": "Thursday", "daycount": "J+1276", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41621.0, "date": "2013/12/13", "day": "Friday", "daycount": "J+1277", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41622.0, "date": "2013/12/14", "day": "Saturday", "daycount": "J+1278", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41623.0, "date": "2013/12/15", "day": "Sunday", "daycount": "J+1279", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41624.0, "date": "2013/12/16", "day": "Monday", "daycount": "J+1280", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41625.0, "date": "2013/12/17", "day": "Tuesday", "daycount": "J+1281", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41626.0, "date": "2013/12/18", "day": "Wednesday", "daycount": "J+1282", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41627.0, "date": "2013/12/19", "day": "Thursday", "daycount": "J+1283", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41628.0, "date": "2013/12/20", "day": "Friday", "daycount": "J+1284", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41629.0, "date": "2013/12/21", "day": "Saturday", "daycount": "J+1285", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41630.0, "date": "2013/12/22", "day": "Sunday", "daycount": "J+1286", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41631.0, "date": "2013/12/23", "day": "Monday", "daycount": "J+1287", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41632.0, "date": "2013/12/24", "day": "Tuesday", "daycount": "J+1288", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41633.0, "date": "2013/12/25", "day": "Wednesday", "daycount": "J+1289", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41634.0, "date": "2013/12/26", "day": "Thursday", "daycount": "J+1290", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41635.0, "date": "2013/12/27", "day": "Friday", "daycount": "J+1291", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41636.0, "date": "2013/12/28", "day": "Saturday", "daycount": "J+1292", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41637.0, "date": "2013/12/29", "day": "Sunday", "daycount": "J+1293", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41638.0, "date": "2013/12/30", "day": "Monday", "daycount": "J+1294", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41639.0, "date": "2013/12/31", "day": "Tuesday", "daycount": "J+1295", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41640.0, "date": "2014/01/01", "day": "Wednesday", "daycount": "J+1296", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41641.0, "date": "2014/01/02", "day": "Thursday", "daycount": "J+1297", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41642.0, "date": "2014/01/03", "day": "Friday", "daycount": "J+1298", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41643.0, "date": "2014/01/04", "day": "Saturday", "daycount": "J+1299", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41644.0, "date": "2014/01/05", "day": "Sunday", "daycount": "J+1300", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41645.0, "date": "2014/01/06", "day": "Monday", "daycount": "J+1301", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41646.0, "date": "2014/01/07", "day": "Tuesday", "daycount": "J+1302", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41647.0, "date": "2014/01/08", "day": "Wednesday", "daycount": "J+1303", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41648.0, "date": "2014/01/09", "day": "Thursday", "daycount": "J+1304", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41649.0, "date": "2014/01/10", "day": "Friday", "daycount": "J+1305", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41650.0, "date": "2014/01/11", "day": "Saturday", "daycount": "J+1306", "starttime": "00:00:00", "endtime": "02:00:00", "text": "SODISM: Configuration Restoration", "data": 0.0}, {"daynum": 41650.0, "date": "2014/01/11", "day": "Saturday", "daycount": "J+1306", "starttime": "02:00:00", "endtime": "04:00:00", "text": "PREMOS: Science mode", "data": 0.0}, {"daynum": 41651.0, "date": "2014/01/12", "day": "Sunday", "daycount": "J+1307", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41652.0, "date": "2014/01/13", "day": "Monday", "daycount": "J+1308", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41653.0, "date": "2014/01/14", "day": "Tuesday", "daycount": "J+1309", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41654.0, "date": "2014/01/15", "day": "Wednesday", "daycount": "J+1310", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific procedure GUID-03 Operations 15 degree rotations along XYZ", "data": 0.0}, {"daynum": 41655.0, "date": "2014/01/16", "day": "Thursday", "daycount": "J+1311", "starttime": "00:00:00", "endtime": "24:00:00", "text": "SODISM: Specific procedure GUID-03 Operations 15 degree rotations along XYZ", "data": 0.0}, {"daynum": 41656.0, "date": "2014/01/17", "day": "Friday", "daycount": "J+1312", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41657.0, "date": "2014/01/18", "day": "Saturday", "daycount": "J+1313", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41658.0, "date": "2014/01/19", "day": "Sunday", "daycount": "J+1314", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41659.0, "date": "2014/01/20", "day": "Monday", "daycount": "J+1315", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41660.0, "date": "2014/01/21", "day": "Tuesday", "daycount": "J+1316", "starttime": "07:00:00", "endtime": "24:00:00", "text": "SODISM: Specific procedure GUID-03 Operations 15 degree rotations along XYZ", "data": 0.0}, {"daynum": 41661.0, "date": "2014/01/22", "day": "Wednesday", "daycount": "J+1317", "starttime": "00:00:00", "endtime": "08:00:00", "text": "SODISM: Specific procedure GUID-03 Operations 15 degree rotations along XYZ", "data": 0.0}, {"daynum": 41662.0, "date": "2014/01/23", "day": "Thursday", "daycount": "J+1318", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41663.0, "date": "2014/01/24", "day": "Friday", "daycount": "J+1319", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41664.0, "date": "2014/01/25", "day": "Saturday", "daycount": "J+1320", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41665.0, "date": "2014/01/26", "day": "Sunday", "daycount": "J+1321", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41666.0, "date": "2014/01/27", "day": "Monday", "daycount": "J+1322", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41667.0, "date": "2014/01/28", "day": "Tuesday", "daycount": "J+1323", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41668.0, "date": "2014/01/29", "day": "Wednesday", "daycount": "J+1324", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41669.0, "date": "2014/01/30", "day": "Thursday", "daycount": "J+1325", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41670.0, "date": "2014/01/31", "day": "Friday", "daycount": "J+1326", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41671.0, "date": "2014/02/01", "day": "Saturday", "daycount": "J+1327", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41672.0, "date": "2014/02/02", "day": "Sunday", "daycount": "J+1328", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41673.0, "date": "2014/02/03", "day": "Monday", "daycount": "J+1329", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41674.0, "date": "2014/02/04", "day": "Tuesday", "daycount": "J+1330", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41675.0, "date": "2014/02/05", "day": "Wednesday", "daycount": "J+1331", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41676.0, "date": "2014/02/06", "day": "Thursday", "daycount": "J+1332", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41677.0, "date": "2014/02/07", "day": "Friday", "daycount": "J+1333", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41678.0, "date": "2014/02/08", "day": "Saturday", "daycount": "J+1334", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41679.0, "date": "2014/02/09", "day": "Sunday", "daycount": "J+1335", "starttime": "20:00:00", "endtime": "24:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: ~20h, wavelength: 607 nm)", "data": 0.0}, {"daynum": 41680.0, "date": "2014/02/10", "day": "Monday", "daycount": "J+1336", "starttime": "00:00:00", "endtime": "10:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: ~20h, wavelength: 607 nm)", "data": 0.0}, {"daynum": 41680.0, "date": "2014/02/10", "day": "Monday", "daycount": "J+1336", "starttime": "20:00:00", "endtime": "24:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0:~20h, wavelength: 393 nm)", "data": 0.0}, {"daynum": 41681.0, "date": "2014/02/11", "day": "Tuesday", "daycount": "J+1337", "starttime": "00:00:00", "endtime": "10:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0:~20h, wavelength: 393 nm)", "data": 0.0}, {"daynum": 41681.0, "date": "2014/02/11", "day": "Tuesday", "daycount": "J+1337", "starttime": "20:00:00", "endtime": "24:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: ~20h, wavelength: 535D nm)", "data": 0.0}, {"daynum": 41682.0, "date": "2014/02/12", "day": "Wednesday", "daycount": "J+1338", "starttime": "00:00:00", "endtime": "10:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: ~20h, wavelength: 535D nm)", "data": 0.0}, {"daynum": 41682.0, "date": "2014/02/12", "day": "Wednesday", "daycount": "J+1338", "starttime": "20:00:00", "endtime": "24:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: ~20h, wavelength: 782 nm)", "data": 0.0}, {"daynum": 41683.0, "date": "2014/02/13", "day": "Thursday", "daycount": "J+1339", "starttime": "00:00:00", "endtime": "13:00:00", "text": "SODISM:Specific Procedure to Close \u2013 Open door SODISM (T0: ~20h, wavelength: 782 nm)", "data": 0.0}, {"daynum": 41684.0, "date": "2014/02/14", "day": "Friday", "daycount": "J+1340", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41685.0, "date": "2014/02/15", "day": "Saturday", "daycount": "J+1341", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41686.0, "date": "2014/02/16", "day": "Sunday", "daycount": "J+1342", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41687.0, "date": "2014/02/17", "day": "Monday", "daycount": "J+1343", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41688.0, "date": "2014/02/18", "day": "Tuesday", "daycount": "J+1344", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41689.0, "date": "2014/02/19", "day": "Wednesday", "daycount": "J+1345", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41690.0, "date": "2014/02/20", "day": "Thursday", "daycount": "J+1346", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41691.0, "date": "2014/02/21", "day": "Friday", "daycount": "J+1347", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41692.0, "date": "2014/02/22", "day": "Saturday", "daycount": "J+1348", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41693.0, "date": "2014/02/23", "day": "Sunday", "daycount": "J+1349", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41694.0, "date": "2014/02/24", "day": "Monday", "daycount": "J+1350", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41695.0, "date": "2014/02/25", "day": "Tuesday", "daycount": "J+1351", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41696.0, "date": "2014/02/26", "day": "Wednesday", "daycount": "J+1352", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41697.0, "date": "2014/02/27", "day": "Thursday", "daycount": "J+1353", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41698.0, "date": "2014/02/28", "day": "Friday", "daycount": "J+1354", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41699.0, "date": "2014/03/01", "day": "Saturday", "daycount": "J+1355", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41700.0, "date": "2014/03/02", "day": "Sunday", "daycount": "J+1356", "starttime": "02:00:00", "endtime": "24:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 782, DL images)", "data": 0.0}, {"daynum": 41701.0, "date": "2014/03/03", "day": "Monday", "daycount": "J+1357", "starttime": "00:00:00", "endtime": "18:00:00", "text": "SODISM: MDO with rotation every two orbits (wavelength ==> 782, DL images)", "data": 0.0}, {"daynum": 41702.0, "date": "2014/03/04", "day": "Tuesday", "daycount": "J+1358", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41703.0, "date": "2014/03/05", "day": "Wednesday", "daycount": "J+1359", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}, {"daynum": 41704.0, "date": "2014/03/06", "day": "Thursday", "daycount": "J+1360", "starttime": "00:00:00", "endtime": "24:00:00", "text": "Payload: Routine programming", "data": 1.0}]}
diff --git a/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/zoom.png b/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/zoom.png
new file mode 100644
index 0000000..05f379e
Binary files /dev/null and b/solar/project_moduls_sitools2/Module_ProjectTimeline_sitools2/zoom.png differ
