Terri O’Connor’s voice shook Friday as she addressed hundreds of people gathered for the unveiling of a memorial plaque for her husband, slain Philadelphia SWAT Sgt. James O’Connor, outside Fraternal Order of Police headquarters.

“Seven months or 31 weeks ago today, on a rainy Friday in March, my world and my entire family’s lives were turned upside down,” she said, recalling the day when her 46-year-old husband was fatally shot while serving an arrest warrant on a murder suspect in Frankford.

She then knelt in the rain, away from the shelter of a white tent, and cried in front of the plaque. It says O’Connor was "killed in the line of duty protecting the citizens of Philadelphia on March 13th, 2020.”

O’Connor was posthumously promoted to sergeant.

» READ MORE: Philadelphia Police Cpl. James O’Connor IV finally laid to rest, after coronavirus delayed his funeral

Law enforcement officials praised his dedication to serving and protecting people during the ceremony, where police command staff, SWAT team and Highway Patrol officers, detectives and officers, and members of the Philadelphia Police & Fire Pipes & Drums stood on the grass, unflinching in the downpour.

“He is a legend and will remain so, he is now woven into the fabric of this city — forever,” said lawyer Jimmy Binns, founder of the Philadelphia Police Hero Plaque Program.

FOP President John McNesby called O’Connor “an all-around great person." As he introduced U.S. Attorney William M. McSwain, whom he called a “great partner in law enforcement,” many officers and police brass clapped.

McSwain said O’Connor, a 23-year veteran of the force, was part of a family of service. O’Connor’s father is a retired city police officer; his son, Jimmy, is an officer in the city’s Sixth Police District; and his daughter, Kelsey, serves in the Air Force.

“He was honored to serve the city …” McSwain said of O’Connor. “He also served at a time when it was sometimes very difficult to serve in law enforcement, not just because of the nature of the work … but also because of a lack of support for law enforcement from certain misguided segments of society. But foolish words from ignorant people would never stop a man like Cpl. O’Connor from doing what he was born to do, which was to protect us all.”

» READ MORE: 2 more men charged in shooting death of Philadelphia Police SWAT Sgt. James O’Connor IV

Pennsylvania Attorney General Josh Shapiro said: "The real story is he was shot trying to keep us safe. ... Law enforcement is a noble profession.”

Philadelphia Police Commissioner Danielle Outlaw, looking forward, told those gathered that while “I know this week was a terrible week. … I see today as a day of new beginnings and renewal."

“O’Connor is and always will be a hero in every sense of the word,” Outlaw said.

As she began speaking, Terri O’Connor noted the emotional toll of recent days.

“With the way this week is going, I expected nothing but torrential downpours,” she said.

» READ MORE: Police vehicle procession honors Sgt. James O’Connor IV, slain in the line of duty

On Tuesday and Wednesday, O’Connor’s family gathered at the Stout Center for Criminal Justice to hear testimony in the preliminary hearing for Hassan Elliott, 22, charged with killing the officer, and three codefendants charged with related offenses.

They relived details of their horror on the first day. Wednesday’s hearing was cut short when a defense attorney went into labor, and the hearing was postponed to Nov. 18.