Posts

After a long delay I finally mustered up the courage to build the query ranking module. Some scary stuff. Here are the problems I’ve been facing whenever I start building this. The ranking requires the table’s Foreign Key structure. Once the query generation is done, the recursive calls along with Javascript’s callbacks is a nightmare. Callbacks are being received even after sending the output. Some relations between the tables are discovered even after ranking.
For now, I have chosen packet for the trial server even though the cost is high. The specs are good (even for entry level containers) and I got some credits to work with initially. So I setup the ssh keys for login and got to work. The github repository for parsey mcparseface and syntaxnet is available here and it also lists out the steps required to setup syntaxnet and get it working.
Before I start building up the server for the application, I wanted to pen down the structure for the app. The structure is represented below. Abbreviations: WSA: Web Speech API (Speech to Text) NLP: Natural Language Processing Tool (Syntaxnet or Google Cloud NLP API) DIS: Database Indexed Search DDI: Database Dynamic Indexing DES: Database Exhaustive Search NES: NoSQL Database Elastic Search SFT: SQL Database Full Text Search  
Converting the Natural Language to Database Query project over to Javascript requires the implementation of the Web Speech API in a single Javascript file. I will discuss the steps taken for the integration in this blog post. Kinda unorthodox but here’s a reference before the content, if you want to experiment on Web Speech API using the official guide. First we check if the API is available with the browser using the following code
August 22 / / Uncategorized
GSoC 2016 Work Submission As a part of the final evaluation, GSoC 2016 accepted students are required to provide a permanent link with details about the work done along with the documentation for that work. This post is for that content. Here are the details about my GSoC 2016 project once again: Title: Apache SYNCOPE-809 ORGANIZATION Apache Software Foundation MENTOR Francesco Chicchiriccò Description: The SYNCOPE-809 feature request points out the lack of a plugin for IDEs to allow users to create and edit mail templates and report stylesheets in the IDE itself instead of doing so using their dashboard.
htmlhelpers package The following files are available in the htmlhelpers package AssistInfo.java: Provides replace functionality for template content AttributeInfo.java: Identifies attribute for html tags AutoIndentAction.java: Provides logic for auto indentation of html code CSSBlockScanner.java: Provides logic for CSS block identification CSSRule.java: Provides logic for CSS code identification DocTypeRule.java: Provides logic for html doctype tag identification HTMLAutoEditStrategy.java: Provides logic for html content assist HTMLCompletionProcessor.java: Provides logic for html code auto-completion HTMLContextType.
HTML Editor Resource Bundle The HTML editor requires some properties which should be both available for the functionality of the editor and should be readily available for editing. This resource bundle is available at “syncope/ide/eclipse/bundles/org.apache.syncope.ide.eclipse.plugin/src/main/resources/HTMLEditor.properties” . Note: While writing tests for the plugin using swtbot, the editors were unable to initialize because for some reason the HTMLEditor was unable to access the resource bundle while automated testing, whereas while manually working with the plugin, the editors work perfectly fine.
Editors The editor displays the content of the mail and report templates, but to display all the available formats of a template, the editor needs to be a multi-page editor. This is done by the TemplateEditor class which extends the MultiPageEditorPart class to allow multiple text editors to be displayed in a single view. The input to these pages is provided by the TemplateEditorInput class which accepts the title, type and content of the template from the SyncopeView class.
The tree viewer was almost complete by the last post. The only thing required to be added was a reset button for re-fetching the keys to allow the user to refresh the list. Simple enough, I added the same functionality used after login. I wanted to list a few things that might be worth mentioning to anyone looking at the SyncopeView.java file. Details about SyncopeView.java There is an invisible root to ensure that the tree view consists of 2 visible roots, namely Mail Templates and Report Templates.