What Language?

Ok. My degree is in business administration, and I have not taken any classes that would relate to computers. Everything I have learned is from smart people pushing me in the right direction and giving me a primer. After that, I google (how I found this place) and hack and slash until I get something to work.

Right now, staring down customizing Kinetic, I am lost. Everything to date (E10) has been pretty cut and dry. Reporting, learn SSRS. Customizations, learn C#.

What the heck do I need to learn to customize Kinetic? As an example, I want to refresh a page. If I google refresh page in JSON, Angular, TypeScript, etc I get no results. I guess I am used to being able to check Microsoft’s C# programming guide to find what I need.

Which one of you smart people out there is going to be the one to push me in the right direction?

1 Like

Mmm, you can’t really do that because Kinetic is built upon those things but uses its own stuff.
JSON is the one I use the most when developing in App Studio followed by the occasional JavaScript for hacky stuff.
I don’t think you really need to get into Angular right now unless you’re gonna build custom widgets and whatnot.

** Well, lemme clarify a bit. You can’t Google to do the typical (Kinetic data) refresh, but you can probably find JS code to refresh the entire browser page.
Location reload() Method (w3schools.com)

1 Like

My advice, if you’re on-prem, is to browse the stuff they’ve created for you in the MetaUI folder on the server. I use voidtools to search by keywords within files in a certain folder. For instance, I can search the MetaUI and child folders for, say “property-set” to see the JSON of how they did it. You can get syntax from it that way.

5 Likes

Whomp, whomp! Out of luck on that one.

But, what I have gathered is that there are multiple pieces to this Kinetic puzzle and you use JSON to “send commands?” to the other pieces to have stuff happen. I think I have enough to get started this weekend. Thank you @hmwillett !!

Lol, you have nooooo idea. #SoManyPieces :face_with_spiral_eyes:

The JSON is just the payload of the command, if you will. The “command” is typically a REST call, so learning REST would behoove you. The JSON is pretty much just a way to package the data to send it around in one piece.

1 Like

It might help to break up the technologies into their functions when trying to understand. For instance, Angular is a JavaScript framework and is used to build out structure to the application, just like .NET is a framework for .NET applications. C# is one of the languages used in .NET.

In Angular, TypeScript (a language) is used to write code inside the application. There is also (in native angular) HTML, CSS and TypeScript.

TypeScript is awesome because you can now leverage object-oriented programming and data types not natively supported in JavaScript. It shares similarities with C#.

Sample TypeScript inside a component:

dayClicked({ date, events }: { date: Date; events: CalendarEvent[] }): void {
    console.log(date);
    //let x=this.adminService.dateFormat(date)
    //this.openAppointmentList(x)
      if (isSameMonth(date, this.viewDate)) {
        if (
          (isSameDay(this.viewDate, date) && this.activeDayIsOpen === true) ||
          events.length === 0
        ) {
          this.activeDayIsOpen = false;
        } else {
          this.activeDayIsOpen = true;
          this.viewDate = date;
        }
    }
  }

Angular apps are build on Components (which are a grouping of CSS for page styling, HTML for page rendering/markup, and TypeScript for business logic). Components are referenced in other components and all served up by the main component app.module.

Main App Component TypeScript:

Main App Component HTML (view):

Notice how the first HTML in this component is referencing the Header component of this application, referenced by . Thats how individual components are consumed.

TypeScript file of Header Component:

HTML file:

It’s got its dependency injection and methods and constructors, etc. like any other app.
Obviously Kinetic is not going to make you do all this yourself and wraps the custom product up but this is just a quick demo of what an Angular app looks like under the hood.

I’m not super well versed in Angular (though I did take a class) but it’s pretty slick for building out single page applications (SPAs).

JSON is a data structure using a standard serialization and is composed of keys and values. Think of it as a way to pass data in a standardized way.

{
   "Key1":"StringValue",  
   "Key2":intValue
}

There’s really nothing special about it other than the structure.

5 Likes

Yeah, it’s creator!

He also was behind Turbo Pascal and Delphi. That’s a helluva resume.

3 Likes

You’re not the only one @jkane. I feel helpless given all of my past experience has been like yours - and now it’s completely different. I’ve been lurking on ALL of @hmwillett’s post for the last 6 months and I’m still nowhere confident enough to try anything. I’ve got a bunch of things to work on, just can’t find the time to learn to crawl.

Anyone have any idea/word on when Epicor’s education group will be doing anything more than Intro to App Studio level coursework?

3 Likes

Just ran across this article CharlieDigital/js-ts-csharp: A repository demonstrating functional techniques with C# 10 and the similarities between JavaScript, TypeScript, and C#. (github.com) by Charles Chen on Medium.

He really has some nice articles but this repo comparing a JavaScript, TypeScript, and C# program was very insightful.

3 Likes