Simple database in html5/jquery/javascript portable to mobile devices
Hi
I am writing a small freeware educational application for mobile devices and as (source) a website for browsers. Have (hopefully) come up with the right environment, i.e. html5 + javascript. Probably I will also include jquery for better gui capabilities.
I am facing another choice. I need to use some basic database functionality for keeping irregular verbs. What would be the most efficient way to go: html/javascript/jquery?
Have no thorough programming knowledge, but once I know which way to take, I usually can make it to the end.
Thank you for any suggestions.
T52
You can try my own library https://bitbucket.org/ytkyaw/ydn-db/overview
Similar Messages
-
A very simple database system with JSON
If we need to store some data in a database, but without the need of advanced SQL features, can we use this scheme (written here in Javascript / node.js) :
// the DB will be in RAM !
var myDb = {};
// read DB from disk if file exists
try { myDb = JSON.parse(fs.readFileSync(DBFILENAME)); } catch(e) { }
// serialize to disk every minute or when process terminates
function serialize() { fs.writeFile('./myDb.json', JSON.stringify(myDb)); }
setInterval(serialize, 60 * 1000);
process.on('SIGTERM', serialize); process.on('SIGINT', serialize);
myDb['record1'] = 'foo';
myDb['record2'] = 'bar';
See
the longer version here as a gist (8 lines of code).
1) Does this DB practice have a name? Is it really so bad? Is it possible to use such a
10-lines-of-code DB system, even in production of websites that have a < 1 GB database ?
2) Scalability: until which size would this system work without performance problems?
i.e. would it work until 2GB of data on a a normal Linux server with 4GB RAM? Or would there be real performance problems?
Note: a minute seems enough to write a 2GB data to disk... Of course I admit it is 100% non-optimized, we could add
diff feature between n-1th and nth writing to disk...
3) Search: can I use ready-to-use tools to do some search in such a "simple" database? Lucene, ElasticSearch, Sphinx, etc. something else?Nothing is wrong with this for development. If it has a name, I suppose it would be a mock database. It is not uncommon to create a mock database that can emulate very basic functionality. You have the added advantage that you start from a scratch
database each and everytime, thus you know that your program would work also for a potential empty nosql database for the same reason.
However this is not a reasonable permanent solution by any means.
Most programmers, due to the small overhead, will simply go ahead and make it work with a nosql database. It may take slightly longer, you are also programming directly to work in production and not being forced to adapt your program and test it beforehand.
Scalability is a non-issue because you're always working in development. If you crash your own computer, it is not that big of a deal. The limit of such a database would be only that of your RAM (or the RAM of the computer running the server), however I
think you'd find that you'll find that the program gets very slow before you even reach the point when your program will crash.
Perhaps you could adapt some searching mechanism for the mock database, but if you're going to go through the trouble, just go ahead and use a proper nosql database. If you literally lose more than 1 hour working on this mock database, then you've wasted
time. -
Is there a report viewer control for html5 using javascript?
VS 2005,2008,2010,2012
SSRS-2008,2012
I want to be able to create a simple report viewer that will run on ios, android, and win8 devices.
I believe that the solution lay with the concept of HTML5 and javascript.
If I use aspx and vb also HTML5, then don't I run the risk of the target device not having the required .net lbrary?
Is that correct? Or does the server alone need the library? what about printing or saving as PDF options on the client side?
So is there a SSRS report viewer control that I can use to create a report that runs on any device that supports HTML5? I want it to look professional.
Or any technique or tutorial that I can look at to accomplish this goal?
Thanks
Jerry CHi Jerry,
To work around this issue, you can write .aspx pages using html 5 and use ReportViewer control or iframe to display the report. For more information, please see:
http://www.hanselman.com/blog/AnnouncingTheWebStandardsUpdateHTML5SupportForTheVisualStudio2010Editor.aspx.
Since the ReportViewer itself uses Ajax, if the mobile device doesn't support that, you're better use some type of front end code to pull data from a web service and render it.
Besides, according to the document
View Reporting Services Reports on Microsoft Surface Devices and Apple iOS Devices, to view and interact with a report on iPad device or Microsoft Surface device, there are several methods:
from Email subscription
from Windows Azure portal
from Report Server
from Report Manager
from a SharePoint document library
from SharePoint web part
So, it seems impossible to view report through Report Viewer control on mobile devices.
Reference:
http://forums.asp.net/t/1863129.aspx/1
Hope this helps.
Regards,
Mike Yin
If you have any feedback on our support, please click
here
Mike Yin
TechNet Community Support -
Looking for a simple database app.
I have an Excel sheet that i use to store simple database data. Like a flat file database with only 4 columns, no relations, no calculations, just data storage.
I don't want to download and install over a 100Mb of OpenOffice or NeoOffice just to be able to see my Excel sheet so i was thinking at converting it to a simple cardfiler-like database.
Guess what? There are no simple databases for the Mac! There is OpenOffice and NeoOffice and there is FileMaker. But no simple, small, configurable card-filer. I checked VersionTracker, IUseThis, but i cannot find anything.
That makes me think that it already needs to be available on the standard installed apps (please say that i'm right) and i just don't see it.
Any suggestions? Any help? Am i really missing the point here?
Thanks all!
Ton.Haven't looked at Wallet. Looked at iData, but that is payware now. I'm trying now woth OmniOutliner which seems to look ok.
Ton. -
JQuery/Javascript not working on Firefox and Chrome
Hi guys, I've had this Jquery/Javascript on my page for a long time. This has stopped working. If the user clicks on buttons on the Apex page, nothing happens.
It works on IE but doesn't work on Firefox and Chrome. It used to work fine.
Is there anything I can change to make it work on all 3 browsers?
Firefox error console shows a syntax error at this point in the script:
$allButtons.click(function(){
itemChanged = false;
var toDo = $(this).attr('data-submitval');
eval(toDo);
Please can someone help?
This is the full script:
<script type="text/javascript">
//<![CDATA[
var itemChanged = false;
$(document).ready(function(){
var $items = $(':input');
var $htmlButtons = $(':button[id]');
var $templateButtons = $(':button[class]');
var $allButtons = $($htmlButtons).add($templateButtons);
$items.change(function() {
itemChanged = true;
$templateButtons.attr('data-submitval', function(){
return $(this).attr('onclick').toString().split('\n')[2];
$htmlButtons.attr('data-submitval', function(){
return this.id;
$allButtons.removeAttr('onclick');
$allButtons.click(function(){
itemChanged = false;
var toDo = $(this).attr('data-submitval');
eval(toDo);
$('a').click(function(event){
if ($(this).children('img[id="P&APP_PAGE_ID._DATE_PICKER_IMG"]').length > 0) {
event.preventDefault();
eval($(this).attr('href'));
window.onbeforeunload = function() {
if (itemChanged) {
return 'You have made changes to data on this page. If you navigate away from this page without first saving your data, the changes will be lost.';
//]]>
</script>
Thanks
Sam
Edited by: sam on 29-Jan-2013 03:50JavaScript doesn't work on any site at all? If particular sites are the issue, or you get specific error messages, please let us know.
Usually the only two ways to disable JavaScript in Firefox are:
(1) Options dialog > Content tab<br>
(2) NoScript add-on (or other security-related add-ons)
Normally Safe Mode bypasses issues caused by add-on problems or non-default settings, so it's worth considering external issues.
Does JavaScript work normally in any other browsers you have installed? -
Hi
I'm looking for a very simple database solution. I have some very large .csv files that I need to query against before importing to Excel. Filemaker, etc. is over the top for what I need. Any ideas?
Thanks.
PowerPC G5 Mac OS X (10.4.6)Welcome to Apple Discussions!
You could use a script that converts CSV to Appleworks:
http://www.tandb.com.au/appleworks/import/
And then export from Appleworks to Excel.
I know the PowerMac G5 doesn't come with Appleworks, but it is a quarter of the price of Filemaker Pro.
Maybe the authors of the script could help you. -
Check user permission level using jquery/javascript
On a sharepoint page I need to check permission level for a user and based on permission level he is having i need to hide few elements on that page.any pointers on how to check user permission level using jquery/javascript.
for eg: i need to do something like this
if(userpermissionlevel=="custom read"){//hide some elements}
Any pointers will be helpful.Try below
function checkifUserHasEditPermissions()
context = new SP.ClientContext.get_current();
web = context.get_web();
this._currentUser = web.get_currentUser();
context.load(this._currentUser);
context.load(web,'EffectiveBasePermissions');
context.executeQueryAsync(Function.createDelegate(this, this.onSuccessMethod), Function.createDelegate(this, this.onFailureMethod));
function onSuccessMethod(sender, args)
if (web.get_effectiveBasePermissions().has(SP.PermissionKind.editListItems))
//User Has Edit Permissions
http://social.technet.microsoft.com/Forums/sharepoint/en-US/f21ad6b1-445a-497d-a286-d3ba8c2928a6/how-to-get-the-current-user-permission-level-on-a-list-item-with-ecmascript
or
http://stackoverflow.com/questions/22122139/check-if-current-users-belongs-to-sp-group-using-javascript-client-side-object-m
http://blog.fidelityfactory.com/2011/11/29/sharepoint-client-ecma-script-check-user-permissions/ -
SIMPLE Database Design Problem !
Mapping is a big problem for many complex applications.
So what happens if we put all the tables into one table called ENTITY?
I have more than 300 attributeTypes.And there will be lots of null values in the records of that single table as every entityType uses the same table.
Other than wasting space if I put a clustered index on my entityType coloumn in that table.What kind of performance penalties to I get?
Definition of the table
ENTITY
EntityID > uniqueidentifier
EntityType > Tells the entityTypeName
Name >
LastName >
CompanyName > 300 attributeTypes
OppurtunityPeriod >
PS:There is also another table called RELATION that points the relations between entities.>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
check the coloumn with WHERE _entityType='PERSON'
as there is is clustered index on entityType...there
is NO performance decrease.
there is also a clustered index on RELATION table on
relationType
when we say WHERE _entityType ='PERSON' or
WHERE relationType='CONTACTMECHANISM'.
it scans the clustered index first.it acts like a
table as it is physically ordered.I was thinking in terms of using several conditions in the same select, such as
WHERE _entityType ='PERSON'
AND LastName LIKE 'A%' In your case you have to use at least two indices, and since your clustered index comes first ...
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Have you ever thought of using constraints in your
modell? How would you realize those?
...in fact we did.We have arranged the generic object
model in an object database.The knowledge information
is held in the object database.So your relational database is used only as a "simple" storage, everything has go through your object database.
But the data schema is held in the RDBMS with code
generation that creates a schema to hold data.If you think that this approach makes sense, why not.
But in able to have a efficent mapping and a good
performance we have thought about building only one
table.The problem is we know we are losing some space
but the thing is harddisk is much cheaper than RAM
and CPU.So our trade off concerated on the storage
cost.But I still wonder if there is a point that I
have missed in terms performance?Just test your approach by using sufficiently data - only you know how many records you have to store in your modell.
PS: it is not wise effective using generic object
models also in object databases as CPU cost is a lot
when u are holding the data.I don't know if I'd have taken your approach - using two database systems to hold data and business logic.
PS2: RDBMS is a value based system where object
databases are identity based.we are trying to be in
the gray area of both worlds.Like I wrote: if your approach works and scales to the required size, why not? I would assume that you did a load test with your approach.
What I would question though is that your discussing a "SIMPLE Database Design" problem. I don't see anything simple in your approach when it comes to implementation.
C. -
Jquery/JavaScript to get current browser's name and its version
Hi,
I using sharepoint 2010,
Is it possible using Jquery/JavaScript to get current browser's name and its version.
when my sharepoint site home page opens i need to display a popup msg of current browser name and its version.
can anyone help me on this.
With Regards,
RKPlease use the below code snippet:
And here is the source code that performed the browser detection:
var nVer = navigator.appVersion;
var nAgt = navigator.userAgent;
var browserName = navigator.appName;
var fullVersion = ''+parseFloat(navigator.appVersion);
var majorVersion = parseInt(navigator.appVersion,10);
var nameOffset,verOffset,ix;
// In Opera 15+, the true version is after "OPR/"
if ((verOffset=nAgt.indexOf("OPR/"))!=-1) {
browserName = "Opera";
fullVersion = nAgt.substring(verOffset+4);
// In older Opera, the true version is after "Opera" or after "Version"
else if ((verOffset=nAgt.indexOf("Opera"))!=-1) {
browserName = "Opera";
fullVersion = nAgt.substring(verOffset+6);
if ((verOffset=nAgt.indexOf("Version"))!=-1)
fullVersion = nAgt.substring(verOffset+8);
// In MSIE, the true version is after "MSIE" in userAgent
else if ((verOffset=nAgt.indexOf("MSIE"))!=-1) {
browserName = "Microsoft Internet Explorer";
fullVersion = nAgt.substring(verOffset+5);
// In Chrome, the true version is after "Chrome"
else if ((verOffset=nAgt.indexOf("Chrome"))!=-1) {
browserName = "Chrome";
fullVersion = nAgt.substring(verOffset+7);
// In Safari, the true version is after "Safari" or after "Version"
else if ((verOffset=nAgt.indexOf("Safari"))!=-1) {
browserName = "Safari";
fullVersion = nAgt.substring(verOffset+7);
if ((verOffset=nAgt.indexOf("Version"))!=-1)
fullVersion = nAgt.substring(verOffset+8);
// In Firefox, the true version is after "Firefox"
else if ((verOffset=nAgt.indexOf("Firefox"))!=-1) {
browserName = "Firefox";
fullVersion = nAgt.substring(verOffset+8);
// In most other browsers, "name/version" is at the end of userAgent
else if ( (nameOffset=nAgt.lastIndexOf(' ')+1) <
(verOffset=nAgt.lastIndexOf('/')) )
browserName = nAgt.substring(nameOffset,verOffset);
fullVersion = nAgt.substring(verOffset+1);
if (browserName.toLowerCase()==browserName.toUpperCase()) {
browserName = navigator.appName;
// trim the fullVersion string at semicolon/space if present
if ((ix=fullVersion.indexOf(";"))!=-1)
fullVersion=fullVersion.substring(0,ix);
if ((ix=fullVersion.indexOf(" "))!=-1)
fullVersion=fullVersion.substring(0,ix);
majorVersion = parseInt(''+fullVersion,10);
if (isNaN(majorVersion)) {
fullVersion = ''+parseFloat(navigator.appVersion);
majorVersion = parseInt(navigator.appVersion,10);
document.write(''
+'Browser name = '+browserName+'<br>'
+'Full version = '+fullVersion+'<br>'
+'Major version = '+majorVersion+'<br>'
+'navigator.appName = '+navigator.appName+'<br>'
+'navigator.userAgent = '+navigator.userAgent+'<br>'
VARIABLES
DESCRIPTION
navigator.appCodeName
The code name of the browser
(e.g. Mozilla)
navigator.appName
The name of the browser
(e.g. Netscape or Microsoft Internet Explorer)
navigator.appVersion
The browser version (e.g. 3.0 or 4.0)
navigator.userAgent
The header information for the browser.
(e.g. Mozilla/4.0)
navigator.platform
The users operating system
(e.g. WIN32)
http://www.w3schools.com/js/js_window_navigator.asp
Click on Propose as Answer if the solutions works for you. -
Simple calculator in html5 using web form elements
Hello
I would like to make an educational miniwebsite with my son who is getting interested in internet programming.
I was wondering if html5 could be used to do simple math in html5 using the input of web form elements, such as radio button (for the choice of math operation: add/sub/mult/div) and two numbers in input fields.
Then a submit equivalent would generate the output result, preferrably in a field still on the same page (without going to another page, as it is the case with submit).I think that you might be looking for something like this:
http://www.developerdrive.com/2012/06/creating-a-web-page-calculator-using-the-html5-outpu t-element/ -
For school i need to develop an application.
Can anyone help me with a simple database server? I want to read data from my database.
Database: a simple employers table
I want to request for example all employers firstname.
How can i build the server?
How can i make the connection with the database?
Are there tutorials or examples?
Please help.
Thanks in advance.I'd say Hypersonic SQL (HSQLDB) is your simplest bet; easy to setup and no software installation required because it is a pure java database. All you need to know is on their website:
http://hsqldb.org/ -
Submit data using Jquery/Javascript during button click
submit data using Jquery/Javascript during button click
Hi,
From your description, my understanding is that you want to restrict edit form with jQuery/JS.
If you want to restrict the default edit form with jQuery/JS, you could refer to these steps below:
Enter your editform.aspx.
Add below code under <asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server">.
Save this file.
<script src="https://code.jquery.com/jquery-1.11.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
function PreSaveAction(){
if($("select[id$='DropDownChoice']").val()==""){
alert("please choose a value!");
return false;
return true;
</script>
The screenshot below is my result(it will not save data after clicking OK in the message alert):
If you customize your list with InfoPath, you could check the checkbox “Cannot be blank” under Validation section or add a rule for your validation as the screenshot below:
In addition, you could check your code with pressing F12 to debug your code.
Best Regards,
Vincent Han
TechNet Community Support
Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
[email protected] -
I know there have been loads of questions about simple database apps, but I wanted to ask if anyone could recommend something specific:
Every month I receive an Excel spreadsheet of data (a membership list) for my organisation. It is basically a list of members' contact details and a few other bits of data. Up until now I have been using FileMaker 8.5 but the problems with Leopard are the last straw; it seems a vastly overpriced solution for what I actually need.
All I need is to be able to create reports of members, search the database and ocassionally print some address labels for mailouts. Obviously FileMaker is capable of doing this, but it's too expensive and I use only the basic features. It seems crazy for a small office like mine to have to pay over the odds for this; I know FileMaker is capable of much more and hence the cost, but I was looking for an alternative.
Is there anything that would be suited to my needs?
Thanks in advance!Hi Harry !
if your data simply contacts and a few bit more, what about AddressBook.app ? I know, that it is not much confortable to import/export but for Contacts is good (&Inclusive).
I don't know when the OpenOffice developers will make a bigger update for Leo, perhaps the current version will work too. Try it: http://porting.openoffice.org/mac/download/index.html (135MB)
Ciao
Massimo -
Help with Designing a Simple Database
I am currently working on a designing problem I would appreciate if someone could review my solution.
The Problem:
I need to create a simple database that contains the following entries�
First Name //mandatory
Last Name //mandatory
Date of Birth //mandatory
Hobbies //there could be anywhere from 0 to infinite amount of hobbies
Type of actions that I need to perform on the database�
Add, delete, and modify and entry
Below are a two design solutions I came up with�
For both solutions I am going to create two text files. One of the text files called profiles.txt will contain the following fields on each line�
Id, First Name, Last Name, Date of Birth
//the Id field in this text file will be the primary key so you will not see the Id duplicated
The other text file called hobbies.txt will contain the following fields on each line�
Id, hobby
//the Id field can be duplicated in this text file so a person can be linked to zero or several hobbies
Now what differs between my solutions is how I am going to read this data into my program�
Solution 1) When you start the program it will read the profiles.txt into a linked list. After that is finished the program will then load the hobbies into several linked list that the profiles linked list will point to. So basically each person will have a linked list of hobbies associated with him or her.
Problem I see with this solution is that if there were 200 million people contained in the profiles.txt would my program crash since the computer would not have enough memory to load all of those names?
Solution 2) Instead of loading the data at the start of the program the data will stay in the text files. So when someone does a search it will open the text file and search for the entry.
Problem with this solution is it would be hard to delete and modify names (would I have to rewrite the text file every time I do a change?). Would a good fix to this problem be creating a separate text file to keep track of any changes or deletions I do and once in a while do a database maintenance?
So a review of my questions is�
1) Would my program crash if I had 200 million entries if I use my solution 1?
2) Is my solution 2 possible without being incredibly slow or complicated?
3) Is there another way of doing this I have not thought of?I think having one option will do. Now the problem with this text file thing is that, we'll hve to read every information into memory if we are running a test driver for the program and then work on the information in memory.
After the program closes, whatever changes we made to this data in memory shd be written to file so we need to find a way of writing the data from memory to overwrite the file. I hope you kinda get what i'm talking abt.
the database will consist of information like this
String firstName
String lastName
String DOB
ArrayList / Vector Hobbies
Now, we kinda want to declare a class with with all these information as data fields ok.
so let's say
public class Try{
String firstName
String lastName
String DOB
ArrayList / Vector Hobbies
and then create an instance of this class in the driver
which will be an ArrayList of this class or something so each index of this class ArrayList will hve it's unique data information from the file we read in but again, this is kinda working in memory right.
After doing all we have to do, we want to write back to file all the changes we made to the data in memory. That's where we are kinda stuck right now.
A member of the group was suggesting we call whatever functions to work on the txt file which will mean we'll hve to re-write each time we call a function to operate on it and all that stuff. This is a slow process.
will be glad if anybody out there will have a better way to implement this. Thanks a lot. -
How is valid Programming in HTML5 with JavaScript and CSS3 Specialist certification
Hi ,
Before 2 years(2013) i take Programming in HTML5 with JavaScript and CSS3 Specialist certification, and i want to ask you, is still valid there this certification, or should I take the exam again to take certification.
Thank you :)This certification is "permanent", you don't need to recertify.
If you also took the additional exams needed for a MCSD, then yes, you would need to recertify every two years in order to maintain the MCSD. But the TS certification that you get by passing exam 70-480 does not require recertification.
Maybe you are looking for
-
How to delete Folders and Files older than 10 day ?
If I use this below command, I am able to delete only the files and files in sub-folders older than 10 day, forfiles /p "D:\Testing\Sample" /s /d -10 /c "cmd /c del /s /q @file" Please help... Thanks
-
SLD server and UME configuration
Dear Portal Gurus, I have configured the UME as ABAP datasource (R/3) with client (001). all the things sld is running and able to create jco connections . iam not able to create users from user adminstration when the client is 001 when i modify the
-
Error in erecruitment after selecting candidate selection
Hi experts, We are implementing SAP eRecruitmen.In BSP Pages while selecting candidate selection options it is showing dump. we are getting error like Error in the ABAP Application Program The current ABAP program "CL_HRRCF_SES_BUSOBJ_FROM_SPTYPCP" h
-
LR update notice deletes catalog
I came here with this issue a year or so ago, but it seems to be unheard of. However, it keeps happening to me. I have LR4, and the issue is that occasionally upon launching it, a box will pop up letting me know there is an update available, and do I
-
Windows Install - change Userhome relocation of .jubula (logs not changed)
Hi Everyone! first of all: Everything under the ==== dashes is already fixed(down below) ... i left it as search-bait for others that might find it helpful I was able to relocate the Eclipse-Platform data that is stored in %USERPROFILE%\.jubula to C: